从 psql.exe 执行 SQL 文件后列中出现错误字符
Wrong characters in columns after executing SQL file from psql.exe
我有一个 SQL 脚本,它用名称填充用户 table。我用 Windows 10.
在我通过下面的命令执行 SQL 脚本后,如果名称包含 å
、,我会得到错误的字符ä
或 ö
(可能更多)。
psql.exe -h localhost -U postgres -d my_database -f C:\populate_users.sql
例如,用户 Peter Jönsson
变为 Peter Jönsson
在我运行上面的命令之前,我还运行chcp 1252
如果我 运行 来自例如 SQL 的脚本pgAdmin 或 Azure Data Studio,一切看起来都不错。所以罪魁祸首似乎是psql。
是否需要配置任何其他设置才能使其正常工作?
您在导入 UTF-8 编码文件时错误地将客户端编码设置为 WIN1252
。
运行 开始前在命令行中输入以下内容 psql
:
chcp 1252
set PGCLIENTENCODING=UTF8
如果您想查看 psql
的数据,您必须将客户端编码重置为 WIN1252
。
我有一个 SQL 脚本,它用名称填充用户 table。我用 Windows 10.
在我通过下面的命令执行 SQL 脚本后,如果名称包含 å
、,我会得到错误的字符ä
或 ö
(可能更多)。
psql.exe -h localhost -U postgres -d my_database -f C:\populate_users.sql
例如,用户 Peter Jönsson
变为 Peter Jönsson
在我运行上面的命令之前,我还运行chcp 1252
如果我 运行 来自例如 SQL 的脚本pgAdmin 或 Azure Data Studio,一切看起来都不错。所以罪魁祸首似乎是psql。
是否需要配置任何其他设置才能使其正常工作?
您在导入 UTF-8 编码文件时错误地将客户端编码设置为 WIN1252
。
运行 开始前在命令行中输入以下内容 psql
:
chcp 1252
set PGCLIENTENCODING=UTF8
如果您想查看 psql
的数据,您必须将客户端编码重置为 WIN1252
。