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 encodend) にいくつかのフィールドがあり、次のようなものが得られるため、無効な文字が含まれている可能性があります。
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() を使用してエンコーディングを変更しようとしましたが、うまくいきませんでした。何か案は?
前もって感謝します。