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]

[apache-rus] FORCE_SOURCE_CHARSET




Отвечаю сразу двоим.

 EB>> Первая, если пользователь выдал "Accept-Charset: koi8-r, *", и теперь
 EB>> даже если пользователь выбрал по порту или по dirpref utf-8, он ее
 EB>> не получит
Потому что четко указал, что koi-8 он понимает.

 EB>> . И если для всех других кодировок русского языка это
 EB>> правильно, то для utf-8 нет, т.к. koi8-r по мощности не эквивалент
 EB>> utf-8.
Где написано об исключительности utf-8 ?

 alr> Пользователь четко указал на то, что он utf-8 не поддерживает -- чего еще
 alr> он хочет ?
Ну не совсем так. '*' включает в себя utf-8. Теоретически, можно включить
AcceptCharset в набор SelectionOrder, практически мне этого делать не хочется 
из совершенно ясных соображений.

 EB>> Более того когда ставим другой язык (CharsetDecl utf-8 en), то все
 EB>> равно получаем koi8-r, что совсем грустно, сервер явно слаб в работе с
 EB>> utf-8.
Ну с много-языками у нас вообще беда :). Проблема, увы, в том, чтобы научиться 
нормально указывать в URL больше одного сочетания язык+кодировка, чтобы затем 
пронести это знание по всему серверу при переходах между URL. Метод из MultiWeb 
мне не нравится (как и вообще не нравится dirprefix), а другого пока никто не 
предложил.

 EB>> Второе, есть весьма нужная команда 'CharsetByExtension', но работает
 EB>> она весьма странно - если перекодировка происходит, то в HTTP
 EB>> заголовке появляется charset=, а если нет, то нету -))).
Неправда. Если перекодировка не происходит, то используется "default table"
без перекодировки (table[i] = i), а charset= все-равно появляется.

 alr> Гм. Вообще-то CharsetByExtension должно указывать на кодировку документа
 alr> НА СЕРВЕРЕ. Посколько RA не умеет перекодировать ИЗ utf-8,
 alr> то CharsetByExtension utf-8 .utf как-то неясно что может значить...
Чистая правда.

Вообще, если хочется работать с документами в utf-8, то выход простой -
1) отключить mod_charset
2) добавлять ;charset=utf-8 к content-type

Я сходу не могу сообразить, как правильно сделать пункт 2 средствами апача, но 
в крайнем случае можно написать модуль из 5 строчек.

С уважением,Alex Tutubalin

--- GoldED 2.42.G1114+







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

[ 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.