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: