You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win11下PostgreSQL v15重音字符乱码及UTF8适配问题求助

解决Win11 + PostgreSQL 15 UTF-8环境下重音字符INSERT问题

1. 确认数据库及服务器编码

首先确保PostgreSQL数据库、服务器的编码均为UTF-8:

  • 登录数据库执行以下命令检查:
    SHOW server_encoding;
    SHOW client_encoding;
    SHOW database_encoding;
    
    所有结果需为UTF8,若有不符,建议备份数据后重建UTF-8编码的数据库(直接修改现有数据库编码风险较高)。

2. 强制PostgreSQL客户端使用UTF-8

无需依赖WIN1252,直接配置客户端编码:

  • 永久生效:找到PostgreSQL安装目录下的postgresql.conf,修改或添加参数:
    client_encoding = 'UTF8'
    
    保存后重启postgresql-x64-15服务(可通过Win11「服务」面板操作)。
  • 临时验证:终端连接数据库后执行SET client_encoding = 'UTF8';,再测试INSERT语句。

3. 同步Win11终端与UTF-8编码

启用Beta UTF-8后,需确保终端编码与数据库一致:

  • CMD:打开后执行chcp 65001(切换至UTF-8代码页)。
  • PowerShell:执行以下命令设置输入输出编码为UTF-8:
    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    [Console]::InputEncoding = [System.Text.Encoding]::UTF8
    
    若需永久生效,可将上述命令添加到PowerShell配置文件(执行notepad $PROFILE编辑,无文件则创建)。

4. 确保输入字符为UTF-8编码

  • 避免从ANSI编码文件复制重音字符,建议用UTF-8无BOM编码的编辑器(如VS Code、Notepad++)编写INSERT语句后再执行。
  • 直接在终端输入时,确认输入法适配UTF-8(Win11启用Beta UTF-8后默认输入法会自动适配)。

5. 检查图形化工具编码(如pgAdmin)

若使用pgAdmin,进入「File」>「Preferences」>「SQL Editor」,将「Encoding」设置为UTF8。


内容的提问来源于stack exchange,提问作者Yannize

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 14:55:23