On Tuesday 18 July 2006 14:13, Dmitry E. Oboukhov wrote:
> есть письмо в stdin
> кормлю его MIME::Parser'у
> далее хочу получить раскодированные заголовки (например From и To)
> как просто получить заголовок закодированный в utf-8 или в кодировке
> текущей локали (а не отправителя)?
Значения полей с не ASCII-символами в заголовке должны кодироваться строчками
вида "=?KOI8-R?Q?=EF=CC=C5=C7_=E1=CE=C9=D3=C9=CD=CF=D7?=
<o_anisimov@dobroe.ru>".
Раскодировать их умеет модуль MIME::WordDecoder. Я писал что-то типа такого:
my $wd = MIME::WordDecoder->new([
'US-ASCII' => sub { $_[0] },
'KOI8-R' => sub { $_[0] },
'WINDOWS-1251' => \&fromwin,
'CP1251' => \&fromwin,
'UTF8' => \&fromutf8,
'UTF-8' => \&fromutf8,
'*' => sub { $_[0] },
]);
...
$from = $wd->decode($from);
--
Best regards. Alexander Lourier. http://aml.rulezz.ru
Attachment:
pgpkFTzbl9_8b.pgp
Description: PGP signature