на главнуюВсе эхи RU.LINUX
войти ?

Почтовый сеpвеp

От Andrew Kant (2:469/83.1) к Slawa Olhovchenkov

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Hello Slawa!

Monday April 06 2009 10:13, Slawa Olhovchenkov wrote to Andrew Kant:
AC>>>>>>> Так что я бы сказал, что единственная засада FTP по сравнению
AC>>>>>>> с HTTP - это проблемы с NAT, и те уже встречаются крайне
AC>>>>>>> редко. Изначально
AO>>>>>> Одной проблемы с русскими именами файлов - достаточно для того,
AO>>>>>> чтобы не использовать ftp. Заодно отламывается возможность хоть
AO>>>>>> что-то закачать на сервер. :)
EG>>>>> У ftp _нет_ проблем с русскими именами.
AO>>>> Вот ведь флеймер, блин. :) Понятно, что проблема вылезает у
AO>>>> клиентов... Hо виноват - протокол, не умеющий UTF8 имена.

EG>>> У протокола ftp _нет_ проблем с UTF8.
AK>> Он хотел сказать, что данным протоколом ты не можешь объяснить
AK>> клиенту, в какой именно кодировке ты ему отдаёшь русские имена.
AK>> Через http это возможно.

SO> через http это тоже невозможно

Описание протокола HTTP (rfc2068, ну или более поздний, если он устарел, но это
не принципиально), раздел 2, описание того, как кодируются литералы:

Правило TEXT используется только для описательного содержимого поля
и значений, которые не предназначены, для интерпретации
синтаксическим анализатором сообщений. Слова *TEXT могут содержать
символы из наборов символов (character sets), отличных от
ISO 8859-1 [22], только когда они закодированы согласно правилам
RFC 1522 [14].

раздел 4, описание того, как кодируются заголовки:
message-header = field-name ":" [ field-value ] CRLF

field-name = token
field-value = *( field-content | LWS )

field-content = <октеты, составляющие значение поля и
состоящие или из *TEXT или из комбинаций
лексем, tspecials, и quoted-string>

RFC1522, описание того, как кодируются ... кодированные слова :)
2. Syntax of encoded-words

An "encoded-word" is defined by the following ABNF grammar. The
notation of RFC 822 is used, with the exception that white space
characters MAY NOT appear between components of an encoded-word.

encoded-word = "=?" charset "?" encoding "?" encoded-text "?="

charset = token ; see section 3

encoding = token ; see section 4

token = 1*<Any CHAR except SPACE, CTLs, and especials>

especials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "
<"> / "/" / "[" / "]" / "?" / "." / "="

encoded-text = 1*<Any printable ASCII character other
than "?" or SPACE>
; (but see "Use of encoded-words in message
; headers", section 5)



Мне кажется, этого вполне достаточно, чтоб указать значение заголовка
Content-Disposition: filename= в любой кодировке и указать в какой именно.

Считаю данный вопрос исчерпанным :)


Good bye!
Andrew

--- GoldED+/W32 1.1.4.7
* Origin: * KAA * (2:469/83.1)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.LINUX?msgid=2:469/83.1+49d9c7db