PostgreSQL中的数据库编码

时间:2013-11-10 12:56:47

标签: postgresql encoding

我最近开始使用PostgreSQL来创建/更新现有的sql数据库。在这个i wave中相当新,遇到了在创建新数据库时选择正确的编码类型的问题。 UTF8(默认一个)对我不起作用,因为要包含的数据是各种语言(英语,中文,日语,俄罗斯等),还包括符号字符。

问题:有人可以建议正确的数据库编码类型以满足我的需求。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

这里有四种不同的编码设置:

  • 数据库的服务器端编码

  • PostgreSQL客户端向PostgreSQL服务器发布的client_encoding。 PostgreSQL服务器假定来自客户端的文本位于client_encoding并将其转换为服务器编码。

  • 操作系统默认编码。这是client_encoding设置的默认psql,如果您不提供不同的utf-8。其他客户端驱动程序可能有不同的默认值例如,PgJDBC始终使用utf-8

  • 通过客户端驱动程序发送的任何文件或文本的编码。这通常是操作系统默认编码,但可能是不同的编码 - 例如,您的操作系统默认设置为使用COPY,但您可能尝试latin-1某些CSV内容保存为utf-8

您几乎总是希望服务器编码设置为{{1}}。根据您的具体情况,您需要更改其余部分。您必须提供更多详细信息(确切的错误消息,文件内容等)才能获得有关详细信息的帮助。