Charset#
O módulo adiciona o charset especificado ao campo de cabeçalho de resposta Content-Type
. Além disso, o módulo pode converter dados de um charset para outro, com algumas limitações:
a conversão é realizada em uma direção — do servidor para o cliente,
apenas charsets de byte único podem ser convertidos
ou charsets de byte único para/de UTF-8.
Exemplo de Configuração#
include conf/koi-win;
charset windows-1251;
source_charset koi8-r;
Diretivas#
charset#
Adiciona o charset especificado ao campo de cabeçalho de resposta Content-Type
. Se este charset for diferente do charset especificado na diretiva source_charset, uma conversão é realizada.
O parâmetro off
cancela a adição do charset ao campo de cabeçalho de resposta Content-Type
.
Um charset pode ser definido com uma variável:
charset $charset;
Neste caso, todos os valores possíveis de uma variável precisam estar presentes na
configuração pelo menos uma vez na forma das diretivas charset_map,
charset, ou source_charset. Para os charsets utf-8
,
windows-1251
, e koi8-r
, é suficiente incluir
os arquivos conf/koi-win
, conf/koi-utf
, e conf/win-utf
na configuração. Para outros charsets, simplesmente criar uma tabela de conversão
fictícia funciona, por exemplo:
charset_map iso-8859-5 _ { }
Além disso, um charset pode ser definido no campo de cabeçalho de resposta X-Accel-Charset
. Esta capacidade pode ser desabilitada usando as diretivas proxy_ignore_headers, fastcgi_ignore_headers, uwsgi_ignore_headers, scgi_ignore_headers, e grpc_ignore_headers.
charset_map#
Descreve a tabela de conversão de um charset para outro. Uma tabela de conversão reversa é construída usando os mesmos dados. Códigos de caracteres são dados em hexadecimal. Caracteres ausentes no intervalo 80-FF são substituídos por "?". Ao converter de UTF-8, caracteres ausentes em um charset de byte único são substituídos por "&#XXXX;".
Exemplo:
charset_map koi8-r windows-1251 {
C0 FE ; # small yu
C1 E0 ; # small a
C2 E1 ; # small b
C3 F6 ; # small ts
}
Ao descrever uma tabela de conversão para UTF-8, códigos para o charset UTF-8 devem ser dados na segunda coluna, por exemplo:
charset_map koi8-r utf-8 {
C0 D18E ; # small yu
C1 D0B0 ; # small a
C2 D0B1 ; # small b
C3 D186 ; # small ts
}
Tabelas de conversão completas de koi8-r
para windows-1251
, e de
koi8-r
e windows-1251
para utf-8
são fornecidas nos
arquivos de distribuição conf/koi-win
, conf/koi-utf
, e
conf/win-utf
.
charset_types#
| |
Padrão |
|
http, server, location |
Habilita o processamento do módulo em respostas com os tipos MIME especificados além de text/html
. O valor especial *
corresponde a qualquer tipo MIME.
override_charset#
| |
Padrão |
|
http, server, location, if in location |
Determina se uma conversão deve ser realizada para respostas recebidas de um servidor proxy ou FastCGI/uwsgi/SCGI/gRPC quando as respostas já carregam um charset no campo de cabeçalho de resposta Content-Type
. Se a conversão estiver habilitada, um charset especificado na resposta recebida é usado como charset de origem.
Nota
Se uma resposta é recebida em uma subrequisição, então a conversão do charset da resposta para o charset da requisição principal é sempre realizada, independentemente da configuração da diretiva override_charset.
source_charset#
Define o charset de origem de uma resposta. Se este charset for diferente do charset especificado na diretiva charset, uma conversão é realizada.