Charset#
El módulo añade el charset especificado al campo de cabecera de respuesta Content-Type
. Además, el módulo puede convertir datos de un charset a otro, con algunas limitaciones:
la conversión se realiza en un solo sentido — del servidor al cliente,
solo se pueden convertir charsets de un solo byte
o charsets de un solo byte hacia/desde UTF-8.
Ejemplo de Configuración#
include conf/koi-win;
charset windows-1251;
source_charset koi8-r;
Directivas#
charset#
| |
Predeterminado |
|
http, server, location, if in location |
Añade el charset especificado al campo de cabecera de respuesta Content-Type
. Si este charset es diferente del charset especificado en la directiva source_charset, se realiza una conversión.
El parámetro off
cancela la adición del charset al campo de cabecera de respuesta Content-Type
.
Un charset puede definirse con una variable:
charset $charset;
En tal caso, todos los posibles valores de una variable deben estar presentes en la configuración al menos una vez en forma de las directivas charset_map, charset o source_charset. Para los charsets utf-8
, windows-1251
y koi8-r
, es suficiente incluir los archivos conf/koi-win
, conf/koi-utf
y conf/win-utf
en la configuración. Para otros charsets, simplemente hacer una tabla de conversión ficticia funciona, por ejemplo:
charset_map iso-8859-5 _ { }
Además, un charset puede establecerse en el campo de cabecera de respuesta X-Accel-Charset
. Esta capacidad puede desactivarse usando las directivas proxy_ignore_headers, fastcgi_ignore_headers, uwsgi_ignore_headers, scgi_ignore_headers y grpc_ignore_headers.
charset_map#
Describe la tabla de conversión de un charset a otro. Una tabla de conversión inversa se construye utilizando los mismos datos. Los códigos de caracteres se dan en hexadecimal. Los caracteres faltantes en el rango 80-FF se reemplazan con "?". Al convertir desde UTF-8, los caracteres que faltan en un charset de un byte se reemplazan con "&#XXXX;".
Ejemplo:
charset_map koi8-r windows-1251 {
C0 FE ; # small yu
C1 E0 ; # small a
C2 E1 ; # small b
C3 F6 ; # small ts
}
Al describir una tabla de conversión a UTF-8, los códigos para el charset UTF-8 deben darse en la segunda columna, por ejemplo:
charset_map koi8-r utf-8 {
C0 D18E ; # small yu
C1 D0B0 ; # small a
C2 D0B1 ; # small b
C3 D186 ; # small ts
}
Las tablas de conversión completas de koi8-r
a windows-1251
, y de koi8-r
y windows-1251
a utf-8
se proporcionan en los archivos de distribución conf/koi-win
, conf/koi-utf
y conf/win-utf
.
charset_types#
| |
Predeterminado |
|
http, server, location |
Habilita el procesamiento del módulo en respuestas con los tipos MIME especificados además de text/html
. El valor especial *
coincide con cualquier tipo MIME.
override_charset#
| |
Predeterminado |
|
http, server, location, if in location |
Determina si debe realizarse una conversión para las respuestas recibidas de un servidor proxy o FastCGI/uwsgi/SCGI/gRPC cuando las respuestas ya llevan un charset en el campo de cabecera de respuesta Content-Type
. Si la conversión está habilitada, un charset especificado en la respuesta recibida se utiliza como charset de origen.
Nota
Si se recibe una respuesta en una subpetición, la conversión del charset de la respuesta al charset de la petición principal siempre se realiza, independientemente de la configuración de la directiva override_charset.
source_charset#
Define el charset de origen de una respuesta. Si este charset es diferente del charset especificado en la directiva charset, se realiza una conversión.