更改postgreSQL中编码字符的方法

时间:2013-02-04 09:44:50

标签: postgresql encoding

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

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

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

我敢打赌,有一种方法可以改变utf-8的编码方式,但是如何才能对select * from table之类的简单查询进行更改?

1 个答案:

答案 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手册的链接:

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