每当我在psql中犯语法错误时,无论是什么问题,psql都只显示:

ERROR:  character with byte sequence 0xd0 0x9e in encoding "UTF8" has no equivalent in encoding "WIN1252"

而不具体说明问题.

我正在本地主机上做这件事.

我试过将代码页改为utf8(通过chcp 65001),并在psql中使用SET CLIENT_ENCODING TO 'utf8'.在那之后,显示错误,但在奇怪的编码.我需要它来显示英语中的错误.

设置chcp 65001并使用SET CLIENT_ENCODING TO 'utf8'后得到的错误输出:

Error output I get after setting chcp 65001 and using

我得到的错误输出没有做这两件事:

Error output I get without doing both of those

编辑:通过运行"\Coding UTF8"和"Set lc_Messages to‘en_us.utf-8’;",它现在可以显示正确编码中的错误.多亏了豪尔赫·坎波斯.

推荐答案

如果您已将PostgreSQL配置为发送俄语错误消息,则不要将您的客户端编码设置为WIN1252,因为西里尔字母无法转换为该编码.

您应该在postgresql.conf中设置lc_messages = C并重新加载PostgreSQL以获得英文错误消息.

Postgresql相关问答推荐

在PL/pgSQL中使用循环时缓存

如何将Postgs SUM结果存储在多个变量中?

将几个左连接合并为一个

如何在查询空字段时设置pgtype.comb为默认值?

通过窗口函数收集反连接结果?

SQLX::Query!带有UUID::UUID的宏在Rust中编译失败

Postgres如何插入带有十进制逗号的实数?

仅使用 ssl 连接到 Postgresql 数据库

错误:分区表的唯一约束必须包括所有分区列

在 SQL 上返回负值

PostgreSQL - 如何获得前一个月和一周的价值?

MERGE 语句的锁定级别

当我写 SELECT ~1;在 Postgresql 上它给了我 -2 结果.这是什么原因?它一直持续〜4和-5等

如何在 Postgresql 中正确使用 FETCH FIRST?

错误:CASE types character varying and numeric cannot be matched

解释结果中的Recheck Cond是什么意思?

在 postgres 中插入语句用于没有时区 NOT NULL 的数据类型时间戳,

为什么是||在 PostgreSQL/Redshift 中用作字符串连接

使用 Hibernate 注释映射 PostgreSQL 串行类型

重命名 Amazon RDS 主用户名