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] грабли с русскими буквами в URL



Hi!

 >> Как должно вести себя в данном случае CharsetByExtension ? С учетом
 >> того, что Extension может быть русский ? Нет, я правда не понимаю. А
 >> хочется сделать продукт, поведение которого, по возможности, очевидное.
 alr> IMHO самое простое -- всегда в названиях файлов и связанных местах
 alr> (CharsetByExtension) использовать основную кодировку сервера.
"Кодировки сервера" как таковой уже не существует. Существуют утверждения о
существовании набора кодировок (CharsetDecl) и описания правил преобразования 
между ними (CharsetRecodeTable).
Больше - ничего. Т.е. сервер определяет кодировку клиента, кодировку документа,
а потом применяет к потоку в обе стороны соотв. преобразование (таблички).

Так вот. Проблема по сути в том, что кодировка документа и имени документа -
это не одно и тоже (и они могут быть разными). Поэтому придется делать 
директиву CharsetFilenames и делать с ней соответствующие преобразования. А для 
directory index - править mod_index, дабы он имя файла преобразовывал из
CharsetFileNames в кодировку клиента.

А вопрос про CharsetByExtension был задан не просто так. По extension сервер 
может (пытаться) определять кодировку _содержимого_ документа. Должен ли он
перед этим перекодировать само имя документа (и по какой таблице). Или он 
должен сначала определить кодировку по расширению, а потом перекодировать ?
Но ведь и расширение при этом может изменится :).

Мда. Задача. Может того, ну ее нафиг ?

С уважением,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.