comparison 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
comparison
equal deleted inserted replaced
75:2bf4cd2787c5 76:4a4caa566120
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4
5 <module name="Директивы модуля ngx_http_charset_module"
6 link="/ru/docs/http/ngx_http_charset_module.html"
7 lang="ru">
8
9 <section name="" id="summary">
10
11 <para>
12 Модуль ngx_http_charset_module добавляет указанную кодировку
13 в строку "Content-Type" в заголовок ответа.
14 Кроме того, модуль может перекодировать данные из одной кодировки в другую
15 с некоторыми ограничениями:
16 <list type="bullet">
17
18 <listitem>
19 перекодирование осуществляется только в одну сторону — от сервера к клиенту,
20 </listitem>
21
22 <listitem>
23 перекодироваться могут только однобайтные кодировки
24 </listitem>
25
26 <listitem>
27 или однобайтные кодировки в UTF-8 и обратно.
28 </listitem>
29
30 </list>
31 </para>
32
33 </section>
34
35
36 <section name="Пример конфигурации" id="example">
37
38 <para>
39 <example>
40 include conf/koi-win;
41
42 charset windows-1251;
43 source_charset koi8-r;
44 </example>
45 </para>
46
47 </section>
48
49
50 <section name="Директивы" id="directives">
51
52 <directive name="charset">
53 <syntax>charset <value>кодировка|off</value></syntax>
54 <default>charset off</default>
55 <context>http, server, location, if в location</context>
56
57 <para>
58 Директива charset добавляет в строку "Content-Type"
59 в заголовке ответа указанную кодировку.
60 Если эта кодировка отличается от указанной в директиве
61 <link id="source_charset"/>, то выполняется перекодирование.
62 </para>
63
64 <para>
65 Параметр "off" отменяет добавление кодировки в строку "Content-Type"
66 в заголовке ответа.
67 </para>
68
69 <para>
70 Кодировка может быть задана переменной:
71 <example>
72 charset $charset;
73 </example>
74 </para>
75
76 <para>
77 В этом случае необходимо, чтобы все возможные значения переменной
78 присутствовали хотя бы один раз в любом месте конфигурации в виде
79 директив charset_map, charset, или source_charset.
80 Для кодировок utf-8, windows-1251 и koi8-r для этого достаточно
81 включить в конфигурацию файлы conf/koi-win, conf/koi-utf и conf/win-utf.
82 Для других кодировок можно просто сделать фиктивную таблцу перекодировки,
83 например:
84 <example>
85 charset_map iso-8859-5 _ { }
86 </example>
87 </para>
88
89 </directive>
90
91
92 <directive name="charset_map">
93 <syntax>charset_map <value>кодировка1 кодировка2 { ... }</value></syntax>
94 <default>нет</default>
95 <context>http</context>
96
97 <para>
98 Директива charset_map описывает таблицу перекодирования из одной
99 кодировки в другую.
100 Таблица для обратного перекодирования строится на основании тех же данных.
101 Коды символов задаются в шестнадцатеричном виде.
102 Неописанные символы в переделах 80-FF заменяются на "?".
103 При перекодировании из UTF-8 символы, отсутствующие в однобайтной кодировке,
104 заменяются на "&amp;#XXXX;".
105 </para>
106
107 <para>
108 Пример использования:
109 <example>
110 charset_map koi8-r windows-1251 {
111 C0 FE ; # small yu
112 C1 E0 ; # small a
113 C2 E1 ; # small b
114 C3 F6 ; # small ts
115 ...
116 }
117 </example>
118 </para>
119
120 <para>
121 При описании таблицы перекодирования в UTF-8, значения этой кодировки должны
122 описываться во второй колонке, например:
123 <example>
124 charset_map koi8-r utf-8 {
125 C0 D18E ; # small yu
126 C1 D0B0 ; # small a
127 C2 D0B1 ; # small b
128 C3 D186 ; # small ts
129 ...
130 }
131 </example>
132 </para>
133
134 <para>
135 Полные таблицы преобразования из koi8-r в windows-1251
136 и из koi8-r и windows-1251 в utf-8
137 входят в дистрибутив и находятся в файлах conf/koi-win, conf/koi-utf
138 и conf/win-utf.
139 </para>
140
141 </directive>
142
143
144 <directive name="charset_types">
145 <syntax>charset_types <value>mime-тип [mime-тип ...]</value></syntax>
146 <default>charset_types text/html text/xml text/plain text/vnd.wap.wml
147 application/x-javascript application/rss+xml.
148 </default>
149 <context>http, server, location</context>
150
151 <para>
152 Директива (0.7.9) разрешает работу модуля в ответах с указанными MIME-типами
153 в дополнение к "text/html". По умолчанию используются
154 <list type="bullet">
155 <listitem>text/html</listitem>
156 <listitem>text/xml</listitem>
157 <listitem>text/plain</listitem>
158 <listitem>text/vnd.wap.wml</listitem>
159 <listitem>application/x-javascript</listitem>
160 <listitem>application/rss+xml</listitem>
161 </list>
162 </para>
163
164 </directive>
165
166
167 <directive name="override_charset">
168 <syntax>override_charset <value>on|off</value></syntax>
169 <default>override_charset off</default>
170 <context>http, server, location, if в location</context>
171
172 <para>
173 Директива определяет, выполнять ли перекодирование для ответов,
174 полученных от проксированного сервера или от FastCGI-сервера,
175 если в них уже есть charset в строке "Content-Type" в заголовке ответа.
176 Если перекодирование разрешено, то в качестве исходной кодировки
177 используется кодировка, указанная в полученном ответе.
178 </para>
179
180 <para>
181 Необходимо отметить, что если ответ был получен в подзапросе,
182 то, независимо от директивы override_charset, всегда выполняется
183 перекодирование из кодировки ответа в кодировку основного запроса.
184 </para>
185
186 </directive>
187
188
189 <directive name="source_charset">
190 <syntax>source_charset <value>кодировка</value></syntax>
191 <default>нет</default>
192 <context>http, server, location, if в location</context>
193
194 <para>
195 Директива source_charset задают исходную кодировку ответа.
196 Если эта кодировка отличается от указанной в директиве
197 <link id="charset"/>, то выполняется перекодирование.
198 </para>
199
200 </directive>
201
202 </section>
203
204 </module>