RuHttpCharsetModule

= ngx_http_charset_module =

Модуль ngx_http_charset_module добавляет указанную кодировку в строку "Content-Type" в заголовок ответа. Кроме того, модуль может перекодировать данные из одной кодировки в другую с некоторыми ограничениями:


 * перекодирование осуществляется только в одну сторону — от сервера к клиенту,
 * перекодироваться могут только однобайтные кодировки
 * или однобайтные кодировки в UTF-8 и обратно.

Содержание Пример конфигурации

Директивы

 * [#charset charset]
 * [#charset_map charset_map]
 * [#override_charset override_charset]
 * [#source_charset source_charset]

Пример конфигурации
 * include        conf/koi-win;


 * charset        windows-1251;
 * source_charset koi8-r;

charset
syntax: charset кодировка|off

default: charset off

context: http, server, location, if в location

Директива charset добавляет в строку "Content-Type" в заголовке ответа указанную кодировку. Если эта кодировка отличается от указанной в директиве source_charset, то выполняется перекодирование.

Параметр "off" отменяет добавление кодировки в строку "Content-Type" в заголовке ответа.

charset_map
syntax: ''charset_map кодировка1 кодировка2 { ... }''

default: нет

context: http, server, location

Директива charset_map описывает таблицу перекодирования из одной кодировки в другую. Таблица для обратного перекодирования строится на основании тех же данных. Коды символов задаются в шестнадцатеричном виде. Неописанные символы в переделах 80-FF заменяются на "?". При перекодировании из UTF-8 символы, отсутствующие в однобайтной кодировке, заменяются на "&#XXXX;".

Пример использования:
 * charset_map koi8-r  windows-1251 {
 * C0 FE ; # small yu
 * C1 E0 ; # small a
 * C2 E1 ; # small b
 * C3 F6 ; # small ts
 * }
 * }

При описании таблицы перекодирования в UTF-8, значения этой кодировки должны описываться во второй колонке, например:
 * charset_map koi8-r  utf-8 {
 * C0 D18E ; # small yu
 * C1 D0B0 ; # small a
 * C2 D0B1 ; # small b
 * C3 D186 ; # small ts
 * }
 * }

Полные таблицы преобразования из koi8-r в windows-1251 и из koi8-r и windows-1251 в utf-8 входят в дистрибутив и находятся в файлах conf/koi-win, conf/koi-utf и conf/win-utf.

override_charset
syntax: override_charset on|off

default: override_charset off

context: http, server, location, if в location

Директива определяет, выполнять ли перекодирование для ответов, полученных от проксированного сервера или от FastCGI-сервера, если в них уже есть charset в строке "Content-Type" в заголовке ответа. Если перекодирование разрешено, то в качестве исходной кодировки используется кодировка, указанная в полученном ответе.

Необходимо отметить, что если ответ был получен в подзапросе, то, независимо от директивы override_charset, всегда выполняется перекодирование из кодировки ответа в кодировку основного запроса.

source_charset
syntax: source_charset кодировка

default: нет

context: http, server, location, if в location

Директива source_charset задают исходную кодировку ответа. Если эта кодировка отличается от указанной в директиве charset, то выполняется перекодирование.