我正在将一个专有(和旧的)校验和算法从MySQL过程移植到PostgreSQL 8.4。
整个数据库是UTF-8,但是对于这个算法,我需要将UTF-8输入转换为带有latin1编码的bytea值。在MySQL中,变量可以是不同的编码,并且即时执行转换。 PostgreSQL中是否有任何函数可以进行这样的转换?
我看到的唯一选择是编写一个自定义的utf8_convert()C函数,该函数返回一个bytea值并使用内部的iconv()将输入转换为latin1。但我想避免使用这样的C函数。
答案 0 :(得分:2)
来自String Functions and Operators:
convert_to(text_in_database,'LATIN1')
但是你必须确保文本可以用Latin1编码 - 否则你会得到一个例外。