I ran into this recently myself with a project to insert E-mail messages into a PostgreSQL database. I solved it like so:
use utf8; use Encode; my $possibly_bad_utf8_data = get_data(); my $good_data = encode( "UTF-8", $possibly_bad_utf8_data );
The capitalization of the UTF-8 in the call to encode() is important, it tells encode to be "strict" about the UTF-8. It turns out use utf8; isn't 100% strict and hence can't be inserted into a strict mode PostgreSQL database.
Hope this helps.
Frank Wiles <frank@revsys.com>
www.revsys.com
In reply to Re: Perl and Postgresql: Invalid byte sequence for encoding "UTF8"
by ides
in thread Perl and Postgresql: Invalid byte sequence for encoding "UTF8"
by StoneTable
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |