[EMAIL PROTECTED] said:
> Hello All, I'm using utf-8 Postgres database, where I save strings in
> many languages. I have to match the database with strings encoded in
> mime base64 or quoted-printable format. Like next:
> =?utf-8?B?15TXoNeUINee16nXlNeZINeR16LXkdeo15nXqi4=?= or
> =?KOI8-R?Q?=F0=D2=C9=D7=C5=D4=2C_=ED=C9=D2!!!?=
>
> I think that I need first convert these strings to utf-8, but I can
> not find out how to do it.
I'm not sure what to make of the second data sample, but the first
would make sense to me if treated as follows:
use Encode;
use MIME::Base64;
$s = "15TXoNeUINee16nXlNeZINeR16LXkdeo15nXqi4="; # removed non-base64 stuff
$d = decode_base64( $s );
$u8 = decode( "utf8", $d );
print $u8,$/; # this is the data rendered as utf8 characters
$u16 = encode( "UTF-16BE", $u8 );
print $u16,$/; # this is the same data rendered as UTF-16BE characters
__END__
If I was right about your first sample, it's a string in Hebrew,
arranged as follows:
U05e0 U05d4 <space> U05de U05e9 U05d4 U05d9 <space>
U05d1 U05e2 U05d1 U05e8 U05d9 U05ea U002e
(That last character is just the plain ascii "period".)
The second data sample doesn't seem to work this way -- maybe someone
else knows why...
Dave Graff