Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

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

Re: [apache-rus] =?koi8-r?Q?=D4=C1=CB?= =?koi8-r?Q?_=C7=C4=C5?= =?koi8-r?Q?_=D1=DA=D9=CB?= =?koi8-r?Q?_=C9?= =?koi8-r?Q?_=C7=C4=C5?= =?koi8-r?Q?_=C5=C7=CF?= =?koi8-r?Q?_=CB=CF=C4=C9=D2=CF=D7=CB=C1=3F?=




Hi!

Предложение первое, не торопиться. А по существу, сделать драфт
по всей русской части apache, как предположительно это будет работать.
Если бы это удалось, то появится первый полноценный многоязычный сервер.

> 
> 1) Механизм Language Negotiation уже существует в Apache (MultiViews),
> каким-то образом он работает, хотя на практике неприменим из-за лени 
> пользователей.
И не только, MSIE 3.х вообще не управляется, и часто шлет мусор.
 
> 2) mod_charset вступает в дело на предпоследней стадии обработки запроса,
> когда известен окончательный URL (после всех Alias/Redirect) и так далее.
> 
> 3) на этом этапе модулю известны:
>  a) URL и Filename
>  b) Language документа (if any)
>  c) Заголовки запроса - Accept/Accept-Charset/Accept-Language/User-Agent
>  d) естественно, всякие настройки
> 
> 4) Задача заключается в том, чтобы выяснить charset документа, выдаваемый
> в строке Content-Type и правила перекодировки из кодировки сервера в кодировку 
> клиента.
> 
> 5) Предлагается:
> a) сделать какой-то механизм объявления серверу, что такому-то Document 
> Language может соответствовать такой-то возможный список charsets.
>    Вариантов два:
>   - CharsetDecl koi8-r ru ua by
>   - CharsetLanguageBind ru koi8-r windows-1251 iso-8859-5
Я думаю что лучше:  CharsetDecl koi8-r windows-1251 iso-8859-5 ru,
то есть последний таг - язык, так уже работало для CharsetTable.
Это так же правильно, как и CharsetLanguageBind, но совместимо.


>   При этом в обоих случаях _удобно_ (мне как программисту) понимать под
>   Charset   внутреннее название таблицы перекодировки (в большинстве
>   случаев оно  совпадает с выдаваемым пользователю
>  Content-Type:... charset=name)
Я тут хочу повторить свое предложение: использовать одну таблицу
для каждого Charset - через UNI-code (utf8?), a из него генерировать
все остальные. Я тут в одном месте долго искал ошибку: почему сервер
в  windows-1251, не перекодирует,как оказалось что сервер настроен на koi8-r,
а тут была перекодировка из iso-8859-5 в windows-1251 - пока нашел - вспотел.
А было бы здорово для каждой кодировки иметь только один файл:
CharsetRecodeUniTable koi8-r conf/uni-koi.tab

 
>  б) для случая, когда внутреннее имя и имя выдаваемое пользователю не
>   совпадают, нужна какая-то директива вида:
> 
>   CharsetOverrideName internal_name language displayed_name
А как это?
 
>  в) Заголовок Accept-Charset должен обрабатываться таким образом,
>    что во внимание принимаются только charsets, определенные для данного
>    языка документа.
> 
>  г) К механизму MultiViews это не должно иметь почти никакого отношения, за
>    исключением того факта, что Document Language определяется директивой
>    AddLanguage (благо она уже есть).
Надо еще DefaultLanguage.
 
>  г) Этот режим должен быть выключен по умолчанию. Для включения нужна отдельная
>    директива. Я предлагаю расширить CharsetMatchLanguage  - ввести режим
>    strict который и будет делать вышеописанное.
> 
> 
> Давайте дальнейшее обсуждение продолжать где-то с этой точки. А то есть 
> непонимание.
Я тут посмотрел коды ошибок для HTTP/1.1, там есть код 406 - кто
знает, как реагируют разные клиенты на него?


-- 
                            Best regards, Eugene Byrganov

  mailto:E.B.Byrganov@inp.nsk.su
  work - http://www.inp.nsk.su/






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.