ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: исправление заголо вков



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'
        );

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.