警告控制台代码页 (437) 不同于 Windows 代码页 (1252)。8 位字符在 PostgreSQL 中可能无法正常工作

Sar*_*shi 2 postgresql windows

每当我访问 psql 时,都会收到以下消息:

psql (9.6.2)
WARNING: Console code page (437) differs from Windows code page (1252)
     8-bit characters might not work correctly. See psql reference
     page "Notes for Windows users" for details.
Type "help" for help.

postgres=#
Run Code Online (Sandbox Code Playgroud)

我试过命令

cmd.exe /c chcp 1252
Run Code Online (Sandbox Code Playgroud)

在命令行中运行 runpsql.bat 文件之前。在那里,它运行良好,没有错误。但是在关闭命令提示符后再次访问 psql 会引发相同的警告。如何在 SQL Shell 中解决此警告?

我正在使用 Windows 10 操作系统。

编辑:

这就是我所做的:

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Sarthak Joshi>E:

E:\>cd PostgreSQL

E:\PostgreSQL>cd scripts

E:\PostgreSQL\scripts>chcp 1252
Active code page: 1252

E:\PostgreSQL\scripts>runpsql.bat
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.6.2)
Type "help" for help.

postgres=#
Run Code Online (Sandbox Code Playgroud)

但是在退出 cmd 并像这样启动 shell 之后:

Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.6.2)
WARNING: Console code page (437) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

postgres=#
Run Code Online (Sandbox Code Playgroud)

它仍然抛出相同的警告......

a_h*_*ame 6

当您cmd.exe /c chcp 1252在批处理文件中使用时,您启动一​​个命令行,更改其代码页,然后该命令行立即终止,但运行的那个psql没有改变。

就放:

chcp 1252
Run Code Online (Sandbox Code Playgroud)

(不调用cmd.exe)到批处理文件。