> > вот если пишем AddDefaultCharset то тогда в заголовки апач добавляет
> > Accept-Charset с соответствующей кодировкой (насколько я понимаю)
> > 
> > теперь есть такая задача:
> > 
> > CGI-скрипт по переменной HTTP_ACCEPT_LANGUAGE смотрит язык броузера и
> > отдает контент на нужном языке. соответственно хочется из CGI-скрипта
> > поставить кодировку 
> 
> Из cgi-скрипта просто отдаешь Content-Type: text/html; charset=что-надо
сейчас попробую

> 
> 
> > если написать
> > 
> > print qq(Content-Type: text/html
> > Accept-Charset: cp1251
> > Accept-Language: ru
> 
> 1. Не надо путать заголовки, посылаемые браузером серверу, и заголовки
> отдаваемые сервером браузеру. То что отдает CGI-скрипт - подмножество
> заголовков, отдаваемых сервером браузеру (за исключемием Status, который
> сервером преобразуется в первую строчку HTTP Response.
да я добрался таки до RFC и понял какую глупость тут сморозил,
но все равно спасибо

кстати тут по RFC написано что если сервер не может отдать контент в тех
Accept'ах что запросил клиент то он ему отвечает "не могу мол"

правильно я понимаю что раз мой броузер шлет Accept-Charset: koi8-r,
а CGI скрипт работает в koi8-r
то раз ответ все-таки идет то сервер перекодирует на лету вывод CGI в то
что просит клиент?

что-то я всегда думал что перекодировкой занимается броузер
но раз ответов 406 от сервера я не вижу то проблема как-то решается,
как?

> 
> > а что надо сделать чтобы сам CGI мог управлять кодировкой? 
> 
> Самый правильный способ - не страдать фигней, а использовать всегда
> utf-8 - в ней можно отдать контент на любом языке. 
кстати как научить апач нормально работать с utf-8?
в смысле с опцией Indexes

у меня почему-то он на буквах навроде "й" спотыкается :(
AddDefaultCharset utf-8 прописано
все имена файлов по русски показывает
но если в имени й или ё (не помню большие или маленькие) то броузер
престрашно это показывает
(насколько я понял проблема именно в апаче, потому что просто страницы в
utf-8 кодировке броузер нормально отображает)

> 
> > теоретически можно прописать AddDefaultCharset utf-8 и все языки писать
> > в одной кодировке, но тут много контента уже наработанного в КОИ и как
> > бы неохота лезть в базу/править итп
> 
> 
> Если контент лежит в базе, то перекодировку можно возложить на сервер
> БД. Практически все сервера БД умеют понимать ситуацию когда кодировка
> клиента не совпадает с кодировкой хранения.
хм


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить