Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: исправление заголовков
Hello Maxim,
Thursday, November 26, 2009, 6:11:51 PM, you wrote:
> Hello!
> On Thu, Nov 26, 2009 at 05:33:05PM +0600, Denis F. Latypoff wrote:
>> Hello Maxim,
>>
>> Thursday, November 26, 2009, 5:21:01 PM, you 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-слова допустимой длины, увы.
>>
>> Это как?
> Это RFC 2047, "2. Syntax of encoded-words":
> ...
> An 'encoded-word' may not be more than 75 characters long, including
> 'charset', 'encoding', 'encoded-text', and delimiters. If it is
> desirable to encode more text than will fit in an 'encoded-word' of
> 75 characters, multiple 'encoded-word's (separated by CRLF SPACE) may
> be used.
> ...
> Кроме того, есть ещё RFC 5322, "2.1.1. Line Length Limits":
> There are two limits that this specification places on the number of
> characters in a line. Each line of characters MUST be no more than
> 998 characters, and SHOULD be no more than 78 characters, excluding
> the CRLF.
> Т.е. 75 символов на encoded-word - это больше, чем рекомендуется
> использовать в первой строке (ибо вместе с названием заголовка -
> вылезет за 78 символов). Но это уже красивости по большому счёту,
> а вот превышать лимит в 75 символов на encoded-word - чревато
> боком (e.g. pine такие encoded-words просто не раскодирует).
Ааа, ясно, тогда encode('MIME-Header', /* сюда надо скармливать
юникодную строку, чтобы perl
правильно резал по символам,
а не по байтам */);
'MIME-B' и 'MIME-Q' вопросик тоже не отделяют.
Получается, в Encode бага?
> Maxim Dounin
--
Best regards,
Denis mailto:denis@xxxxxxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|