Re[2]: исправление заголовков
Denis F. Latypoff
denis на gostats.ru
Чт Ноя 26 14:56:16 MSK 2009
Hello Igor,
Thursday, November 26, 2009, 5:24:57 PM, you wrote:
> On Thu, Nov 26, 2009 at 02:21:01PM +0300, Maxim Dounin wrote:
>> Hello!
>>
>> On Thu, Nov 26, 2009 at 04:55:38PM +0600, Denis F. Latypoff wrote:
>>
>> > Hello Igor,
>> >
>> > Thursday, November 26, 2009, 4:43:29 PM, you wrote:
>> >
>> > > Может кто-нибудь подсказать, что из перлового многообразия модулей
>> > > умеет корректно преобразовывать заголовки ?
>> >
>> > > Вот это:
>> >
>> > > # $Id: Encode.pm,v 2.35 2009/07/13 00:49:38 dankogai Exp $
>> > > use Encode qw/encode decode/;
>> >
>> > > sub repack_utf_hdr($) {
>> > > my($hdr) = shift;
>> >
>> > - return encode('MIME-Header', decode('MIME-Header', $hdr));
>> > + return encode('MIME-Header', encode('UTF-8', decode('MIME-Header', $hdr)));
>>
>> Это не поможет ему производить mime-слова допустимой длины, увы.
> Там длина не особо критична, но это исправление просто кодирует utf-8
> ещё раз utf'ом.
[root at monster ~]# cat r.pl
#!/usr/bin/perl
use Encode qw/encode decode/;
sub repack_utf_hdr($) {
my($hdr) = shift;
return encode('MIME-Header', decode('MIME-Header', $hdr));
}
sub repack_utf_hdr_true($) {
my($hdr) = shift;
return encode('MIME-Header', encode('UTF-8', decode('MIME-Header', $hdr)));
}
$header = "Subject: Re: =?KOI8-R?Q?=ED=CF=D6=CE=CF_=CC=C9_=CB=C1=CB-=D4=CF_=D5?=
=?KOI8-R?Q?=D0=D2=CF=D3=D4=C9=D4=D8_=C4=C1=CE=CE=D5=C0_=CB=CF=CE=C6=C9?=
=?KOI8-R?Q?=C7=D5=D2=C1=C3=C9=C0=3F?=";
print decode('MIME-Header', repack_utf_hdr_true($header)), "\n";
print decode('MIME-Header', repack_utf_hdr($header)), "\n";
[root at monster ~]# ./r.pl
Subject: Re: Можно ли как-то упростить данную конфигурацию?
Wide character in print at ./r.pl line 20.
Subject: Re: Можно ли как-то упростить данную конфигурацию?
просто encode('MIME-Header', /* здесь ожидает октеты */);
--
Best regards,
Denis mailto:denis at gostats.ru
Подробная информация о списке рассылки nginx-ru