我的数据库记录中包含波兰字符,例如:ś
,ć
,ż
,ź
。
当我尝试执行某些SELECT
语句时,这对我来说恰好是个问题。
因为我收到了我的文字,但我上面写的不是字符,而是<c4><85>
。
我敢打赌,有一种方法可以改变utf-8
的编码方式,但是如何才能对select * from table
之类的简单查询进行更改?
答案 0 :(得分:2)
正如您所说,这是在控制台上,您必须首先检查您的控制台编码,然后再启动psql。
有关如何在Windows中执行此操作的详细信息,请参阅Unicode characters in Windows command line - how?。
必须这样做,因为即使您在UTF8中获得psql
读/写,您的控制台也不一定能理解这些字符,也不会正确显示它们。
确认您的控制台可以接受UTF-8编码后,确保psql已选择此编码:
show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
如果没有显示UTF-8,那么您可以使用:
set client_encoding = UTF8;
作为一般规则;如果你的程序期望使用UTF8那么盲目地设置客户端编码没有任何害处(不检查它是什么开始)。
http://www.postgresql.org/docs/current/static/multibyte.html
注意:强> 以上链接适用于当前版本。由于OP要求8.0版,这里是8.0手册的链接: