Furthermore, module can reencode data of one encoding into another. It is necessary to note that the reencoding is accomplished only in one direction - from the server to the client, and only one-byte encodings can be reencoded.

Example configuration:

鎸囦护

syntax:*charset encoding|off*

default:*charset off*

context:*http, server, location, if in location*

The directive charset adds the line "Content-Type" into response-header with indicated encoding. If this encoding is differed from that indicated in directive source_charset, then reencoding is carried out. The parameter "off" deactivate the insertation of the line "Content-Type" in the response-header.

charset_map

syntax:*charset_map encoding1 encoding2 {…}*

context:*http, server, location*

The directive charset_map describes the table of reencoding from one encoding into another. A table for the inverse reencoding is created using the same data. The codes of symbols are assigned in hexadecimal form. If no recorded symbols are in the range 80-FF they will be substituted with '?'.

Example usage:

  1. C0 FE ; # small yu
  2. C3 F6 ; # small ts
  3. }

The complete table of conversion from koi8-r into Windows-1251 is distributed with nginx and is located in file conf/koi-win.

syntax:*override_charset on|off*

default:*override_charset off*

context:*http, server, location, if in location*

It is necessary to note that if the response was obtained in the subquery then, independent of directive override_charset, is always carried out reencoding from encoding of the response into encoding of basic demand.

source_charset

syntax:*source_charset encoding*

default:*no*

context:*http, server, location, if in location*

The directive source_charset assigns the initial encoding of response. If this encoding is differed from that indicated in directive charset, then reencoding is carried out.