postgresql - 如何获取PostgreSQL中任何字符的代码点和utf 8编码

标签 postgresql utf-8 character-encoding

除了 ascii() 之外,是否有任何 PostgreSQL 函数来显示字符的代码点和 utf8 编码?

ascii()(顾名思义?)是有限制的,如下例所示:

字符 ±,一个带有变音符号 ̨ 的 a,实际上是两个呈现为一个字符的组合:

  • 一个\x61\(= 十进制的 97)

  • 一个所谓的组合字符,一个单独的ogonek:̨\xCC\xA8

ascii()不适合这种字符(组合):

select ascii('ą');
ascii 
-------
97

97 是字符 a 的代码点,因此未显示 ± 的完整代码点。

如何获取 PostgreSQL 中任何字符的代码点和 utf8 编码,即组合字符?

最佳答案

问题是那不是一个字符,而是两个字符的组合,一个a 和一个“组合字符”。虽然它们呈现为单个字符,但它们不是。

如果您使用单个字符 ±(UNICODE 代码点 261),则不会出现该问题。

您需要将字符组合转换为单个字符的软件(如果可能),但据我所知,PostgreSQL 没有这样的功能。

关于postgresql - 如何获取PostgreSQL中任何字符的代码点和utf 8编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693172/

相关文章:

html - 即使编码正确,带重音符号的字母也无法在服务器上正确显示

delphi - 有没有办法在 Delphi 2009 中查看字符是否使用 1 个或 2 个字节?

PostgreSQL 触发器为多个表动态生成代码

MySQL - utf8 字符在 Web 前端无法正确显示

Python 2.7、Appengine 数据存储和 Unicode

php - 如何将非 utf-8 字符串转换为 utf-8

python - Django - pdf 响应编码错误 - reportlab

ruby-on-rails - ActiveRecord::Base.connection.execute(sql).each 不返回数据

postgresql - NpgsqlCommand.ExecuteNonQuery() 抛出后端发送无法识别的响应类型 : F when try to insert in a table

postgresql - Amazon EC2 上的数据存储建议,尤其是数据库