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

Pandas含希腊字符DataFrame写入PostgreSQL出现编码错误和乱码如何解决

解决方案

核心原因

首先可以执行show server_encoding;验证数据库服务端编码,如果结果为UTF8,说明你写入的希腊字符存储完全正常,报错和乱码均由Windows CMD客户端的编码配置不匹配导致:

  1. WIN1252是西欧字符集,完全不包含希腊字符,因此转码时直接报错
  2. WIN1253虽然是希腊字符集,但CMD默认代码页、字体不匹配,因此显示为乱码

具体操作步骤

  • 打开CMD后先执行命令切换UTF8代码页:
    chcp 65001
    
  • 修改CMD显示字体:右键CMD窗口顶部标题栏→「属性」→「字体」,选择支持多语言的字体如 Consolas、Lucida Console,不要使用默认点阵字体。
  • 重新连接PostgreSQL后,执行命令设置客户端编码为UTF8:
    SET client_encoding TO 'UTF8';
    
    可选:连接psql时可以直接指定编码,无需后续手动设置,命令示例:psql -U user -d test_db --encoding=utf8
  • 再次执行查询即可正常显示希腊字符:
    select * from sq_exp;
    

永久生效配置(可选)

如果不想每次打开CMD都手动修改代码页,可以通过修改注册表实现自动配置:

  1. 按下Win+R输入regedit打开注册表编辑器
  2. 定位到路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
  3. 右侧新建「字符串值」,名称设为autorun,数值数据设为chcp 65001,保存后重启CMD即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:06:10