PostgreSQL:使用 psql 命令行实用程序时 Windows 上的编码问题

新手上路,请多包涵

我在 Windows 2008 R2 上的集中监控系统中工作,我已经安装了 PostgreSQL 9.3 以从命令行使用 psql

当我尝试访问一些远程 Postgres(在我的主要情况下为 8.4)时,我的编码出现错误:

命令:

 psql.exe -h 192.168.114.12 -p 5432 -d db_seros_transaccion -U postgres -f script.sql

错误:

 psql: FATAL:  la conversión entre WIN1252 y LATIN1 no está soportada

我尝试添加句子

SET client_encoding = 'UTF8';

在我的脚本中,但问题仍然存在(以及其他编码,如 LATIN1 和 WIN1252)。

谷歌搜索后,我发现有人更新服务器中的某些行以建立连接,这对我来说是个问题。

任何人都可以帮助我在没有更新的情况下使用 psql 建立连接吗?可能吗?

原文由 Frank N Stein 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 804
2 个回答

非常感 谢克雷格·林格,工作,终于工作了!你现在是我的新偶像!

步骤是:

  1. 打开cmd
  2. SET PGCLIENTENCODING=utf-8
  3. chcp 65001
  4. psql -h your.ip.addr.ess -U postgres

原文由 Frank N Stein 发布,翻译遵循 CC BY-SA 4.0 许可协议

作为一个选项,尝试在 psql 中输入此命令:

 postgres=# \! chcp 65001

65001 等于 UTF-8

1251 = 赢得 1251

原文由 Falchio 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题