comparison xml/ru/docs/http/ngx_http_charset_module.xml @ 349:302222923e34

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