我最近开始使用 PostgreSQL 来创建/更新现有的 SQL 数据库。在这方面相当新,我遇到了一个在创建新数据库时选择正确编码类型的问题。UTF-8(默认)对我不起作用,因为要包含的数据是各种语言(英语、中文、日语、俄罗斯等)以及符号字符。
问题:满足我需求的正确数据库编码类型是什么。
非常感谢任何帮助。
我最近开始使用 PostgreSQL 来创建/更新现有的 SQL 数据库。在这方面相当新,我遇到了一个在创建新数据库时选择正确编码类型的问题。UTF-8(默认)对我不起作用,因为要包含的数据是各种语言(英语、中文、日语、俄罗斯等)以及符号字符。
问题:满足我需求的正确数据库编码类型是什么。
非常感谢任何帮助。
这里有四种不同的编码设置:
数据库的服务器端编码
client_encoding
PostgreSQL 客户端向 PostgreSQL 服务器宣布的。PostgreSQL 服务器假定来自客户端的文本在其中client_encoding
,并将其转换为服务器编码。
操作系统默认编码。如果您不提供其他设置,则这是默认client_encoding
设置。psql
其他客户端驱动程序可能有不同的默认值;例如 PgJDBC 总是使用utf-8
.
通过客户端驱动程序发送的任何文件或文本的编码。这通常是操作系统默认编码,但它可能是不同的编码 - 例如,您的操作系统可能设置为utf-8
默认使用,但您可能正在尝试COPY
保存为 .csv 的某些 CSV 内容latin-1
。
您几乎总是希望将服务器编码设置为utf-8
. 您需要根据适合您的情况进行更改。您必须提供更多详细信息(确切的错误消息、文件内容等)才能获得有关详细信息的帮助。