2

我有这个用 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() 来尝试更改编码,但没有任何运气。有任何想法吗?

提前致谢。

4

1 回答 1

1
于 2013-03-22T11:39:20.427 回答