У меня есть эта хранимая процедура, написанная на 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"
Я пытался использовать Convert() и convert_from() PostgreSQL, чтобы попытаться изменить кодировку, но безуспешно. Любые идеи?
Заранее спасибо.