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