gpt4 book ai didi

postgresql - 如何使用 PostgreSQL 将字符串转换为 unicode?

转载 作者:行者123 更新时间:2023-11-29 14:03:42 25 4
gpt4 key购买 nike

这里我想将我的字符串转换为 unicode。我正在使用 PostgreSQL 9.3 版本。在 SQL Server 中更容易:

示例:

   sql = N'select * from tabletest'; /* For nvarchar/nchar/ntext */

   sql = U'select * from tabletest'; /* For varchar/char/text */

问题:如何在 PostgreSQL 中进行上述转换?

最佳答案

PostgreSQL 数据库有一个本地字符类型,即“服务器编码”。通常是utf-8。

所有文本都采用这种编码。不支持混合编码文本,除非存储为 bytea(即作为不透明字节序列)。

您不能存储“unicode”或“非 unicode”字符串,而且 PostgreSQL 没有“varchar”与“nvarchar”的概念。使用 utf-8,属于 7 位 ASCII 范围(和其他一些)的字符被存储为单个字节,而更宽的字符需要更多存储空间,因此它只是自动的。对于全是“宽”字符的文本,utf-8 需要比 ucs-2 或 utf-16 更多的存储空间,但对于混合文本则需要更少的存储空间。

PostgreSQL 使用 client_encoding 设置自动与客户端的文本编码相互转换。无需显式转换。

如果您的客户端是“Unicode”(Microsoft 产品在表示 UCS-2 或 UTF-16 时往往会这么说),那么大多数客户端驱动程序都会为您处理任何 utf-8 <--> utf-16 转换.

因此您无需关心,只要您的客户端使用正确的字符集选项执行 I/O 并设置正确的 client_encoding 以匹配其实际在线路上发送的数据。 (对于大多数客户端驱动程序,如 PgJDBC、nPgSQL 或 Unicode psqlODBC 驱动程序,这是自动的)。

参见:

关于postgresql - 如何使用 PostgreSQL 将字符串转换为 unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com