mod_charset_lite.html revision 0cff0af4031298cb16c17c038082e798af99cb9e
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<html xmlns="http://www.w3.org/TR/xhtml1/strict"><head><!--
0db2f3402b37df221fbf55486769989f82df479aPavel BřezinaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0db2f3402b37df221fbf55486769989f82df479aPavel Březina This file is generated from xml source: DO NOT EDIT
0db2f3402b37df221fbf55486769989f82df479aPavel BřezinaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0db2f3402b37df221fbf55486769989f82df479aPavel Březina--><title>mod_charset_lite - Apache HTTP Server</title><link href="/style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img alt="[APACHE DOCUMENTATION]" src="/images/sub.gif"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_charset_lite</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td><description>Specify character set translation or recoding</description></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module&nbsp;Identifier:</a></td><td>charset_lite_module</td></tr></table></td></tr></table><h2>Summary</h2><summary>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>This is an <strong>experimental</strong> module and should
0db2f3402b37df221fbf55486769989f82df479aPavel Březina be used with care. Experiment with your
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <code>mod_charset_lite</code> configuration to ensure that it
0db2f3402b37df221fbf55486769989f82df479aPavel Březina performs the desired function.</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p><code><a href="mod_charset_lite.html">mod_charset_lite</a></code> allows the administrator to
0db2f3402b37df221fbf55486769989f82df479aPavel Březina specify the source character set of objects as well as the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina character set they should be translated into before sending to the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina client. <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> does not translate the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina data itself but instead tells Apache what translation to
0db2f3402b37df221fbf55486769989f82df479aPavel Březina perform. <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> is applicable to EBCDIC
0db2f3402b37df221fbf55486769989f82df479aPavel Březina and ASCII host environments. In an EBCDIC environment, Apache
0db2f3402b37df221fbf55486769989f82df479aPavel Březina normally translates text content from the code page of the Apache
0db2f3402b37df221fbf55486769989f82df479aPavel Březina process locale to ISO-8859-1. <code><a href="mod_charset_lite.html">mod_charset_lite</a></code>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina can be used to specify that a different translation is to be
0db2f3402b37df221fbf55486769989f82df479aPavel Březina performed. In an ASCII environment, Apache normally performs no
0db2f3402b37df221fbf55486769989f82df479aPavel Březina translation, so <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> is needed in
0db2f3402b37df221fbf55486769989f82df479aPavel Březina order for any translation to take place.</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>This module provides a small subset of configuration
0db2f3402b37df221fbf55486769989f82df479aPavel Březina mechanisms implemented by Russian Apache and its associated
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <code>mod_charset</code>.</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina</summary><h2>Directives</h2><ul><li><a href="#charsetdefault">CharsetDefault</a></li><li><a href="#charsetoptions">CharsetOptions</a></li><li><a href="#charsetsourceenc">CharsetSourceEnc</a></li></ul><h2>Common Problems</h2>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<h3>Invalid character set names</h3>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The character set name parameters of <a href="#charsetsourceenc" class="directive"><code class="directive">CharsetSourceEnc</code></a> and
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <a href="#charsetdefault" class="directive"><code class="directive">CharsetDefault</code></a>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina must be acceptable to the translation mechanism used by APR on the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina system where <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> is deployed. These
0db2f3402b37df221fbf55486769989f82df479aPavel Březina character set names are not standardized and are usually not the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina same as the corresponding values used in http headers. Currently,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina APR can only use iconv(3), so you can easily test your character
0db2f3402b37df221fbf55486769989f82df479aPavel Březina set names using the iconv(1) program, as follows:</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina iconv -f charsetsourceenc-value -t charsetdefault-value
0db2f3402b37df221fbf55486769989f82df479aPavel Březina</code></td></tr></table></blockquote>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<h3>Mismatch between character set of content and translation
0db2f3402b37df221fbf55486769989f82df479aPavel Březina rules</h3>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>If the translation rules don't make sense for the content,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina translation can fail in various ways, including:</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <ul>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <li>The translation mechanism may return a bad return code,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina and the connection will be aborted.</li>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <li>The translation mechanism may silently place special
0db2f3402b37df221fbf55486769989f82df479aPavel Březina characters (e.g., question marks) in the output buffer when
0db2f3402b37df221fbf55486769989f82df479aPavel Březina it cannot translate the input buffer.</li>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina </ul>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<hr/><h2><a name="CharsetDefault">CharsetDefault</a> <a name="charsetdefault">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Charset to translate into</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CharsetDefault <em>charset</em></syntax></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_charset_lite</td></tr></table></td></tr></table><usage>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The <code class="directive">CharsetDefault</code> directive specifies the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina charset that content in the associated container should be
0db2f3402b37df221fbf55486769989f82df479aPavel Březina translated to.</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The value of the <em>charset</em> argument must be accepted
0db2f3402b37df221fbf55486769989f82df479aPavel Březina as a valid character set name by the character set support in
0db2f3402b37df221fbf55486769989f82df479aPavel Březina APR. Generally, this means that it must be supported by
0db2f3402b37df221fbf55486769989f82df479aPavel Březina iconv.</p>
54039570d26e29444c398aa4ad6ba638f1713566Sumit Bose
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>Example</strong></p><code>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina &lt;Directory "/export/home/trawick/apacheinst/htdocs/convert"&gt;<br>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CharsetSourceEnc UTF-16BE<br>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CharsetDefault ISO8859-1<br>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina &lt;/Directory&gt;
0db2f3402b37df221fbf55486769989f82df479aPavel Březina</code></td></tr></table></blockquote>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina</usage><hr/><h2><a name="CharsetOptions">CharsetOptions</a> <a name="charsetoptions">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Configures charset tranlation behavior</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CharsetOptions <em>option</em> [<em>option</em>] ...</syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>CharsetOptions DebugLevel=0
54039570d26e29444c398aa4ad6ba638f1713566Sumit BoseNoImplicitAdd</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_charset_lite</td></tr></table></td></tr></table><usage>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The <code class="directive">CharsetOptions</code> directive configures certain
0db2f3402b37df221fbf55486769989f82df479aPavel Březina behaviors of <code><a href="mod_charset_lite.html">mod_charset_lite</a></code>. <em>Option</em> can
0db2f3402b37df221fbf55486769989f82df479aPavel Březina be one of</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <dl>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <dt>DebugLevel=<em>n</em></dt>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <dd>The <code>DebugLevel</code> keyword allows you to specify
0db2f3402b37df221fbf55486769989f82df479aPavel Březina the level of debug messages generated by
c85f751893e43d992b6fac7c83679db05558d1caPavel Březina <code><a href="mod_charset_lite.html">mod_charset_lite</a></code>. By default, no messages are
538321890c4d5f08c8702cfc2c00e57cbd13d334Jakub Hrozek generated. This is equivalent to <code>DebugLevel=0</code>.
c85f751893e43d992b6fac7c83679db05558d1caPavel Březina With higher numbers, more debug messages are generated, and
c85f751893e43d992b6fac7c83679db05558d1caPavel Březina server performance will be degraded. The actual meanings of
538321890c4d5f08c8702cfc2c00e57cbd13d334Jakub Hrozek the numeric values are described with the definitions of the
afadeb1a530ff010a2f9a7552562576b843c874bJakub Hrozek DBGLVL_ constants near the beginning of
afadeb1a530ff010a2f9a7552562576b843c874bJakub Hrozek <code>mod_charset_lite.c</code>.</dd>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <dt>ImplicitAdd | NoImplicitAdd</dt>
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina <dd>The <code>ImplicitAdd</code> keyword specifies that
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> should implicitly insert its
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina filter when the configuration specifies that the character
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina set of content should be translated. If the filter chain is
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina explicitly configured using the AddOutputFilter directive,
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <code>NoImplicitAdd</code> should be specified so that
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina <code><a href="mod_charset_lite.html">mod_charset_lite</a></code> doesn't add its filter.</dd>
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina </dl>
4df7aec645f87342f3a5146062abcb15f71f4fd9Pavel Březina</usage><hr/><h2><a name="CharsetSourceEnc">CharsetSourceEnc</a> <a name="charsetsourceenc">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Source charset of files</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CharsetSourceEnc <em>charset</em></syntax></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Experimental</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_charset_lite</td></tr></table></td></tr></table><usage>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The <code class="directive">CharsetSourceEnc</code> directive specifies the
0db2f3402b37df221fbf55486769989f82df479aPavel Březina source charset of files in the associated container.</p>
8f895983e8d24b3edde4f695621f6b9a2fd20923Pavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The value of the <em>charset</em> argument must be accepted
0db2f3402b37df221fbf55486769989f82df479aPavel Březina as a valid character set name by the character set support in
0db2f3402b37df221fbf55486769989f82df479aPavel Březina APR. Generally, this means that it must be supported by
ddfd1900b26c66a062457d4fcc1a48bafd3eadf6Pavel Březina iconv.</p>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina
0db2f3402b37df221fbf55486769989f82df479aPavel Březina<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><p align="center"><strong>example</strong></p><code>
3df5c41c19ef852021819954a2db1d067844d136Pavel Březina &lt;Directory "/export/home/trawick/apacheinst/htdocs/convert"&gt;<br>
9c98397b6431b6b02bdfdb0540bac6a3eb00b0e3Pavel Březina CharsetSourceEnc UTF-16BE<br>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina CharsetDefault ISO8859-1<br>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina &lt;/Directory&gt;
0db2f3402b37df221fbf55486769989f82df479aPavel Březina</code></td></tr></table></blockquote>
0db2f3402b37df221fbf55486769989f82df479aPavel Březina <p>The character set names in this example work with the iconv
0db2f3402b37df221fbf55486769989f82df479aPavel Březina translation support in Solaris 8.</p>
7be55c7de03da57f43fae3db7e6114eebb117a2ePavel Březina</usage><hr/><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img alt="Index" src="/images/index.gif"/></a><a href="../"><img alt="Home" src="/images/home.gif"/></a></blockquote></body></html>