Mercurial > hg > nginx-site
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 заменяются на "&#XXXX;". | 106 заменяются на “<literal>&#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> |