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

PostgreSQL UTF8编码下psql.exe查询特殊字符乱码求助

解决psql.exe查询捷克变音符号乱码问题

核心原因

psql的输出编码与Windows终端(或输出文件)的编码不匹配,即便手动设置client_encoding为UTF8,终端默认代码页(如GBK)仍会导致显示乱码。

具体解决方案

  • 临时切换终端代码页
    在PowerShell中先执行:

    chcp 65001
    

    65001是UTF-8对应的Windows代码页,切换后再运行你的psql查询命令:

    ./psql.exe -h localhost -p 5433 -U postgres -d experimental -c "SELECT * FROM diacritics"
    
  • 通过环境变量默认设置编码
    临时生效:在PowerShell中设置环境变量后启动psql:

    $env:PGCLIENTENCODING = 'UTF8'
    ./psql.exe -h localhost -p 5433 -U postgres -d experimental -c "SELECT * FROM diacritics"
    

    永久生效:在Windows系统环境变量中添加PGCLIENTENCODING,值设为UTF8,之后所有psql会话都会自动使用UTF8编码。

  • 正确输出到UTF8文件
    直接重定向可能生成ANSI编码文件,改用PowerShell的Out-File指定编码:

    ./psql.exe -h localhost -p 5433 -U postgres -d experimental -c "SELECT * FROM diacritics" | Out-File -Encoding utf8 output.txt
    

    打开output.txt时选择UTF8编码即可正常显示。

  • 进入psql会话后再执行查询
    避免一次性命令可能的编码设置时序问题:

    ./psql.exe -h localhost -p 5433 -U postgres -d experimental
    

    进入会话后执行:

    SET client_encoding = 'UTF8';
    SELECT * FROM diacritics;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:54:29