Mercurial > hg > nginx-site
diff xml/ru/docs/http/ngx_http_charset_module.xml @ 76:4a4caa566120
Russian documentation import.
Changes in module.dtd: <example> now allowed to contain <value> and
<emphasis> elements (we need this to show important parts in examples),
less strict checking of <directive> syntax (we don't want to fully
document some directives, notably deprecated ones).
Known issues:
1. <syntax> elements are preserved as is, they will require manual conversion
(likely to some not-yet-existed format a la DocBook cmdsynopsis, as
currently used one seems to be incomplete);
2. <value> no longer corresponds to replaceable content, and it's use in
examples isn't correct;
3. <link doc="document#fragment"> doesn't work with current xslt, either
should be supported or changed to <link doc="document" id="fragment">.
The following files are intentionally omitted: maillists.xml (support.xml
should be used instead), experimental.xml (obsolete), faq.xml (conflicts
with existing one, needs discussion).
Not yet linked to site.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 11 Oct 2011 12:57:50 +0000 |
parents | |
children | 1d315ef37215 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/http/ngx_http_charset_module.xml Tue Oct 11 12:57:50 2011 +0000 @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> + +<module name="Директивы модуля ngx_http_charset_module" + link="/ru/docs/http/ngx_http_charset_module.html" + lang="ru"> + +<section name="" id="summary"> + +<para> +Модуль ngx_http_charset_module добавляет указанную кодировку +в строку "Content-Type" в заголовок ответа. +Кроме того, модуль может перекодировать данные из одной кодировки в другую +с некоторыми ограничениями: +<list type="bullet"> + +<listitem> +перекодирование осуществляется только в одну сторону — от сервера к клиенту, +</listitem> + +<listitem> +перекодироваться могут только однобайтные кодировки +</listitem> + +<listitem> +или однобайтные кодировки в UTF-8 и обратно. +</listitem> + +</list> +</para> + +</section> + + +<section name="Пример конфигурации" id="example"> + +<para> +<example> + include conf/koi-win; + + charset windows-1251; + source_charset koi8-r; +</example> +</para> + +</section> + + +<section name="Директивы" id="directives"> + +<directive name="charset"> +<syntax>charset <value>кодировка|off</value></syntax> +<default>charset off</default> +<context>http, server, location, if в location</context> + +<para> +Директива charset добавляет в строку "Content-Type" +в заголовке ответа указанную кодировку. +Если эта кодировка отличается от указанной в директиве +<link id="source_charset"/>, то выполняется перекодирование. +</para> + +<para> +Параметр "off" отменяет добавление кодировки в строку "Content-Type" +в заголовке ответа. +</para> + +<para> +Кодировка может быть задана переменной: +<example> +charset $charset; +</example> +</para> + +<para> +В этом случае необходимо, чтобы все возможные значения переменной +присутствовали хотя бы один раз в любом месте конфигурации в виде +директив charset_map, charset, или source_charset. +Для кодировок utf-8, windows-1251 и koi8-r для этого достаточно +включить в конфигурацию файлы conf/koi-win, conf/koi-utf и conf/win-utf. +Для других кодировок можно просто сделать фиктивную таблцу перекодировки, +например: +<example> +charset_map iso-8859-5 _ { } +</example> +</para> + +</directive> + + +<directive name="charset_map"> +<syntax>charset_map <value>кодировка1 кодировка2 { ... }</value></syntax> +<default>нет</default> +<context>http</context> + +<para> +Директива charset_map описывает таблицу перекодирования из одной +кодировки в другую. +Таблица для обратного перекодирования строится на основании тех же данных. +Коды символов задаются в шестнадцатеричном виде. +Неописанные символы в переделах 80-FF заменяются на "?". +При перекодировании из UTF-8 символы, отсутствующие в однобайтной кодировке, +заменяются на "&#XXXX;". +</para> + +<para> +Пример использования: +<example> +charset_map koi8-r windows-1251 { + C0 FE ; # small yu + C1 E0 ; # small a + C2 E1 ; # small b + C3 F6 ; # small ts + ... +} +</example> +</para> + +<para> +При описании таблицы перекодирования в UTF-8, значения этой кодировки должны +описываться во второй колонке, например: +<example> +charset_map koi8-r utf-8 { + C0 D18E ; # small yu + C1 D0B0 ; # small a + C2 D0B1 ; # small b + C3 D186 ; # small ts + ... +} +</example> +</para> + +<para> +Полные таблицы преобразования из koi8-r в windows-1251 +и из koi8-r и windows-1251 в utf-8 +входят в дистрибутив и находятся в файлах conf/koi-win, conf/koi-utf +и conf/win-utf. +</para> + +</directive> + + +<directive name="charset_types"> +<syntax>charset_types <value>mime-тип [mime-тип ...]</value></syntax> +<default>charset_types text/html text/xml text/plain text/vnd.wap.wml +application/x-javascript application/rss+xml. +</default> +<context>http, server, location</context> + +<para> +Директива (0.7.9) разрешает работу модуля в ответах с указанными MIME-типами +в дополнение к "text/html". По умолчанию используются +<list type="bullet"> +<listitem>text/html</listitem> +<listitem>text/xml</listitem> +<listitem>text/plain</listitem> +<listitem>text/vnd.wap.wml</listitem> +<listitem>application/x-javascript</listitem> +<listitem>application/rss+xml</listitem> +</list> +</para> + +</directive> + + +<directive name="override_charset"> +<syntax>override_charset <value>on|off</value></syntax> +<default>override_charset off</default> +<context>http, server, location, if в location</context> + +<para> +Директива определяет, выполнять ли перекодирование для ответов, +полученных от проксированного сервера или от FastCGI-сервера, +если в них уже есть charset в строке "Content-Type" в заголовке ответа. +Если перекодирование разрешено, то в качестве исходной кодировки +используется кодировка, указанная в полученном ответе. +</para> + +<para> +Необходимо отметить, что если ответ был получен в подзапросе, +то, независимо от директивы override_charset, всегда выполняется +перекодирование из кодировки ответа в кодировку основного запроса. +</para> + +</directive> + + +<directive name="source_charset"> +<syntax>source_charset <value>кодировка</value></syntax> +<default>нет</default> +<context>http, server, location, if в location</context> + +<para> +Директива source_charset задают исходную кодировку ответа. +Если эта кодировка отличается от указанной в директиве +<link id="charset"/>, то выполняется перекодирование. +</para> + +</directive> + +</section> + +</module>