ISUTF8
测试字符串是否是有效的 UTF-8 字符串。如果字符串符合 UTF-8 标准,则返回 ture, 否则返回 false。此函数可以在操作正则表达式函数之前,用来检验字符串是否符合 UTF-8 标准,例如 REGEXP_LIKE 默认是 UTF-8 字符。
ISUTF8 会按照 UTF-8 规则来检查无效的 UTF8 字节序列:
-
无效字节
-
意外的延续字节
-
开始字节后没有足够的延续字节
-
重载编码
无效 UTF-8 字节序列返回 false 值
要将字符串强制转换为 UTF-8,请使用 MAKEUTF8。
语法
ISUTF8( string );
参数
string
- 待做 UTF-8 一致性检查的字符串
示例
=> SELECT ISUTF8(E'\xC2\xBF'); \-- UTF-8 INVERTED QUESTION MARK ISUTF8
--------
t
(1 row)
=> SELECT ISUTF8(E'\xC2\xC0'); \-- UNDEFINED UTF-8 CHARACTER
ISUTF8
--------
f
(1 row)