除了ascii()
之外,是否还有其他PostgreSQL函数来显示字符的代码点和utf8编码?ascii()
(顾名思义?)是有限的,如下例所示:
字符ą,带有变音符号a,实际上是两个字符的组合,呈现为一个:
a\x61(十进制=97)
所谓的组合字符,一个单独的ogonek:̨\xCC\xA8ascii()
不适合这种字符(组合):
select ascii('ą');
ascii
-------
97
97是字符a的码位,因此不显示ą的完整码位。
如何获取PostgreSQL中任何字符的代码点和utf8编码,也就是组合字符的代码点和utf8编码?
最佳答案
问题是,这不是一个字符,而是两个字符的组合,a
和“组合字符”。虽然这些是作为单个字符呈现的,但它们不是。
如果使用单字符ą(UNICODE代码点261),就不会有这个问题。
您可能需要将字符组合转换为单个字符的软件(在可能的情况下),但据我所知,PostgreSQL没有这样的功能。