Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: исправление заголовков
On Thu, Nov 26, 2009 at 04:00:10PM +0300, Maxim Dounin wrote:
> Hello!
>
> On Thu, Nov 26, 2009 at 02:34:06PM +0300, Igor Sysoev wrote:
>
> > On Thu, Nov 26, 2009 at 02:01:56PM +0300, Maxim Dounin wrote:
> >
> > > Hello!
> > >
> > > On Thu, Nov 26, 2009 at 01:43:29PM +0300, Igor Sysoev 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));
> > > > }
> > > >
> > > > Делает из такого
> > > >
> > > > 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?=
> > > >
> > > > вот такое:
> > > >
> > > > Subject: Re:
> > > >
> > > > =?UTF-8?B?INCc0L7QttC90L4g0LvQuCDQutCw0Lot0YLQviDRg9C/0YDQvtGB0YLQuNGC0Y
> > > > w=?=
> > > >
> > > > =?UTF-8?B?INC00LDQvdC90YPRjiDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y4=?=?
> > > >
> > > > В конце вопрос не отделён пробелом (а ещё лучше засунуть его в
> > > > закодированое).
> > > > Результат можно наблюдать здесь:
> > > > http://nginx.org/pipermail/nginx-ru/2009-November/030058.html
> > >
> > > MIME::EncWords пожалуй наиболее приличен из всего что есть на
> > > текущий момент.
> >
> > А готовый скрипт может кто-нибудь дать, а то там даже в man'е ошибки:
> >
> > foreach (decode_mimewords($enc)) {
> > - print "", ($_[1] || 'US-ASCII'), ": ", $_[0], "\n";
> > + print "", ($_->[1] || 'US-ASCII'), ": ", $_->[0], "\n";
> > }
>
> Если я правильно понимаю чего ты хочешь добиться - то как-то так:
>
> return encode_mimewords(
> scalar decode_mimewords($hdr, Charset => 'utf-8'),
> Charset => 'utf-8'
> );
Спасибо, похоже, это то, что надо.
--
Игорь Сысоев
http://sysoev.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|