postgresql - PostgreSQL 中的数据库编码

标签 postgresql encoding

我最近开始使用 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/

相关文章:

python - Cloud SQL - Postgres - 插入速度非常慢

json - JSONEncoder.encode 在 Swift 中抛出什么异常?

asp.net-mvc - URL 中的 Internet Explorer 西里尔符号参数

sql - 连接表时如何使用postgres group by语句

python - Django 不允许获取/创建新对象 : QuerySet object has no attribute get_or_create

postgresql 除零错误处理

python - 如何在 `update` 中为 JSONField 使用 Django F() 表达式

android - 不同的编码问题

python - Base64 对 AppEngine 上上传的数据进行二进制编码

java - XStream 编码损坏