我已经安装了PostgreSQL,想建立一个新的数据库,一切都很顺利,直到我试图使用€符号。然后我就知道了,我一开始收到的警告是有原因的。
我在启动psql shell时得到的警告是。
WARNING: Console code page (850) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
所以我要照我说的去做(来自... PostgreSQL文档9.2 - psql):
psql是作为一个 "控制台应用程序 "构建的。由于Windows控制台窗口使用与系统其他部分不同的编码,因此在psql中使用8位字符时必须特别注意。如果psql检测到一个有问题的控制台代码页,它将在启动时警告你。要改变控制台代码页,需要做两件事。
当我输入 cmd.exe c chcp 1252 命令,我得到一个语法错误。所以psql,不承认这个命令。无奈之下,我是想在cmd.exe本身做一些事情,也不行。
我的工作环境是Windows 7 - 64Bit。
你的数据库字符集是什么?如果是UTF-8,那么在运行之前,你在psql中想要什么,就告诉控制台使用UTF-8编码。cmd.exe /c chcp 65001
我在Windows 10中也遇到了同样的问题
在psql中输入 !
它显示我的设置为850。我通过以下操作将其改为1252。
dir显示在C:\\Program Files\PostgreSQL\9.6\scripts中有一个文件runpsql.bat。
从windows中退出psql后,我在Administrator模式下运行Notebook,并在REM运行psql语句上面添加了命令chcp 1252。
现在运行时没有警告
您也可以使用 powershell /c chcp 1252
.但你必须要打它 之前 进入 psql 控制台。
我可以通过运行 SET CLIENT_ENCODING TO 'UTF-8';
在sql bash中