convert()

用于转换 bytea 字符串编码的函数

convert() 是一个用于在不同编码之间转换包含文本的 bytea 字符串的系统函数。

convert()PostgreSQL 7.2 中添加。

用法

convert ( bytes bytea, src_encoding name, dest_encoding name ) → bytea

如果提供的编码不兼容或字符串包含源编码的无效字节序列,则会引发 ERROR

convert_from()convert_to() 提供相同的功能,无需指定源或目标字符串的编码(如果与当前数据库的编码匹配)。

更改历史记录

示例

在编码之间转换单个字符

postgres=# SELECT 'ä'::bytea, convert('ä'::bytea, 'UTF8', 'LATIN1');
 bytea  | convert 
--------+---------
 \xc3a4 | \xe4
(1 row)

尝试在不兼容的编码之间执行转换

postgres=# SELECT convert('ほげほげ'::bytea, 'UTF-8', 'LATIN1');
ERROR:  character with byte sequence 0xe3 0x81 0xbb in encoding "UTF8" has no equivalent in encoding "LATIN1"

尝试执行转换,其中提供的字符串包含源编码的无效字节序列

postgres=# SELECT convert(E'\\xDEADBEEF', 'UTF8', 'LATIN1');
ERROR:  invalid byte sequence for encoding "UTF8": 0xbe

分类

bytea区域设置和字符集处理字符串操作系统函数

另请参阅

convert_from()convert_to()

反馈

提交任何关于 "convert()" 的评论、建议或更正 此处