我有这个用 Pl/Perl 编写的存储过程:
CREATE FUNCTION strip_html_tags(text) RETURNS TEXT AS $$
use HTML::Strip;
my $hs = HTML::Strip->new();
my $clean_text = $hs->parse($_[0]);
$hs->eof;
return $clean_text;
$$ LANGUAGE plperlu;
我的数据库中有一些字段(LATIN1 编码)可能有一些无效字符,因为我得到如下信息:
db=# select strip_html_tags(field) from table;
ERROR: character 0xe2809c of encoding "UTF8" has no equivalent in "LATIN1"
CONTEXT: PL/Perl function "strip_html_tags"
我尝试使用 PostgreSQL 的 convert() 和 convert_from() 来尝试更改编码,但没有任何运气。有任何想法吗?
提前致谢。