我的数据库记录中包含波兰字符,如:ś
、、、、。ć
ż
ź
当我尝试执行某些SELECT
语句时,这对我来说恰好是一个问题..
因为我得到了我的文字,但我得到的不是我上面写的字符:<c4><85>
。
我敢打赌,有一种方法可以更改编码,例如utf-8
,但是对于像这样的简单查询,我该如何做到这一点select * from table
?
我的数据库记录中包含波兰字符,如:ś
、、、、。ć
ż
ź
当我尝试执行某些SELECT
语句时,这对我来说恰好是一个问题..
因为我得到了我的文字,但我得到的不是我上面写的字符:<c4><85>
。
我敢打赌,有一种方法可以更改编码,例如utf-8
,但是对于像这样的简单查询,我该如何做到这一点select * from table
?
正如您在控制台上指出的那样,您必须在启动 psql 之前首先检查您的控制台编码。
请参阅Windows 命令行中的 Unicode 字符 - 如何?有关如何在 Windows 中执行此操作的详细信息。
必须这样做,因为即使您确实可以psql
用 UTF8 读/写,您的控制台也不一定能理解这些字符,也不会正确显示它们。
一旦你确认你的控制台可以接受 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 手册的链接: