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

Re: apache поле Accept-Charset



On 2006.04.19 at 11:19:48 +0400, Dmitry E. Oboukhov wrote:

> вот если пишем 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.

> а что надо сделать чтобы сам CGI мог управлять кодировкой? 

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

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


Если контент лежит в базе, то перекодировку можно возложить на сервер
БД. Практически все сервера БД умеют понимать ситуацию когда кодировка
клиента не совпадает с кодировкой хранения.



Reply to: