This module is contained in the mod_charset_lite.c
file, with
Apache 2.0 and later. It provides the ability to specify character set
translation, or recoding, by directory or location or virtual server. It
is not compiled into the server by default. mod_charset_lite
requires that Apache is compiled with APACHE_XLATE defined.
This module provides a small subset of configuration mechanisms
implemented by Russian Apache and its associated mod_charset
.
This is an experimental module and should be used with
care. Experiment with your mod_charset_lite
configuration to
ensure that it performs the desired function.
mod_charset_lite
allows the administrator to specify the
source character set of objects as well as the character set they should
be translated into before sending to the client.
mod_charset_lite
does not translate the data itself but
instead tells Apache what translation to perform.
mod_charset_lite
is applicable to EBCDIC and ASCII
host environments. In an EBCDIC environment, Apache normally translates
text content from the code page of the Apache process locale to
ISO-8859-1. mod_charset_lite
can be used to specify that
a different translation is to be performed. In an ASCII environment,
Apache normally performs no translation, so mod_charset_lite
is needed in order for any translation to take place.
Syntax: CharsetSourceEnc charset
Default: None
Context: directory, virtual host
Override: FileInfo
Status: Experimental
Module: mod_charset_lite
Compatibility: Only available in Apache 2.0 or later
The CharsetSourceEnc
directive specifies the source charset
of files in the associated container.
The value of the charset argument must be accepted as a valid character set name by the character set support in APR. Generally, this means that it must be supported by iconv.
Example:<Directory "/export/home/trawick/apacheinst/htdocs/convert"> CharsetSourceEnc UTF-16BE CharsetDefault ISO8859-1 </Directory>The character set names in this example work with the iconv translation support in Solaris 8.
Syntax: CharsetDefault charset
Default: None
Context: directory, virtual host
Override: FileInfo
Status: Experimental
Module: mod_charset_lite
Compatibility: Only available in Apache 2.0 or later
The CharsetDefault
directive specifies the charset that
content in the associated container should be translated to.
The value of the charset argument must be accepted as a valid character set name by the character set support in APR. Generally, this means that it must be supported by iconv.
Example:<Directory "/export/home/trawick/apacheinst/htdocs/convert"> CharsetSourceEnc UTF-16BE CharsetDefault ISO8859-1 </Directory>
Syntax: CharsetOptions option option ...
Default: DebugLevel=0 NoImplicitAdd
Context: directory, virtual host
Override: FileInfo
Status: Experimental
Module: mod_charset_lite
Compatibility: Only available in Apache 2.0 or later
The CharsetOptions
directive configures certain behaviors
of mod_charset_lite
. Option can be one of
mod_charset_lite
. By default, no
messages are generated. This is equivalent to DebugLevel=0.
With higher numbers, more debug messages are generated, and server
performance will be degraded. The actual meanings of the numeric values
are described with the definitions of the DBGLVL_ constants near the
beginning of mod_charset_lite.c
.
mod_charset_lite
should implicitly insert its filter when
the configuration specifies that the character set of content should be
translated. If the filter chain is explicitly configured using the
AddOutputFilter directive, NoImplicitAdd should be specified so
that mod_charset_lite
doesn't add its filter.
The character set name parameters of CharsetSourceEnc and CharsetDefault must be acceptable to the translation mechanism used by APR on the system where mod_charset_lite is deployed. These character set names are not standardized and are usually not the same as the corresponding values used in http headers. Currently, APR can only use iconv(3), so you can easily test your character set names using the iconv(1) program, as follows:
iconv -f charsetsourceenc-value -t charsetdefault-value
If the translation rules don't make sense for the content, translation can fail in various ways, including: