|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 12 Jan 2006 16:02:23 To : Maxim Yemelyanov Subject : Re: имя файла в Content-Disposition -------------------------------------------------------------------------------- Maxim Yemelyanov @ Thu, 12 Jan 2006 10:48:10 +0000 (UTC): MY> Есть utf8-ный скаляр с национальным именем файла. Hадо это имя отдать в MY> заголовке Content-Disposition. MY> Такой вариант MY> $filename =~ s/([^a-zA-Z0-9_\.-])/sprintf("%%%02x", $1)/ge; MY> работает с русскими именами, но, afaiu, не должен сработать с разного MY> рода китайскими кодировками. MY> Как правильно за-encode-ить имя, и нужно ли это делать (или всё MY> отдавать в utf8)? Делать это нужно, и что именно делать - описано в каком-то из RFC группы MIME (2045 и далее, не помню уже, в каком). В HTTP, сколь я помню, используются правила оттуда. Hе скажу, правда, стандартно или традиционно... Внимание: в разных заголовках поведение разное - для Content-Disposition не годятся правила, используемые в Subject/From/To писем (RFC2047). Кстати, часто программисты об этом не в курсе, и у mutt, например, есть настройка "да, нам, случается, присылают имя файла, закодированное как Subject". Можно, кстати, посмотреть, что при этом делает MIME::Lite или MIME::Tools. Они могут либо делать правильную вещь, либо ссылаться на правильный RFC. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Психология - это наука о плохих контактах (С)энта --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/2560698603b85.html, оценка из 5, голосов 10
|