0

我的数据库记录中包含波兰字符,如:ś、、、、。ćżź

当我尝试执行某些SELECT语句时,这对我来说恰好是一个问题..

因为我得到了我的文字,但我得到的不是我上面写的字符:<c4><85>

我敢打赌,有一种方法可以更改编码,例如utf-8,但是对于像这样的简单查询,我该如何做到这一点select * from table

4

1 回答 1

2

正如您在控制台上指出的那样,您必须在启动 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 手册的链接:

http://www.postgresql.org/docs/8.0/static/multibyte.html

于 2013-02-04T10:06:13.000 回答