1

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

问题:满足我需求的正确数据库编码类型是什么。

非常感谢任何帮助。

4

1 回答 1

2

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

  • 数据库的服务器端编码

  • client_encodingPostgreSQL 客户端向 PostgreSQL 服务器宣布的。PostgreSQL 服务器假定来自客户端的文本在其中client_encoding,并将其转换为服务器编码。

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

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

您几乎总是希望将服务器编码设置为utf-8. 您需要根据适合您的情况进行更改。您必须提供更多详细信息(确切的错误消息、文件内容等)才能获得有关详细信息的帮助。

于 2013-11-11T02:42:24.553 回答