mod_charset_lite
描述: | 指定字符集转换或重新编码 |
状态: | 延期 |
模块标识符: | charset_lite_module |
源文件: | mod_charset_lite.c |
摘要
mod_charset_lite允许服务器在将响应字符集发送到 client 之前更改它们的字符集。在 EBCDIC 环境中,Apache 始终将 HTTP 协议内容(e.g.响应 headers)从 Apache process locale 的 code 页面转换为 ISO-8859-1,而不是响应主体。在任何环境中,mod_charset_lite都可用于指定应转换响应主体。例如,如果 files 存储在 EBCDIC 中,那么mod_charset_lite可以在将它们发送到 client 之前将它们转换为 ISO-8859-1。
该模块提供了由 Russian Apache 及其关联的mod_charset
实现的一小部分 configuration 机制。
常见问题
字符集名称无效
和 CharsetSourceEnc和CharsetDefault 和的字符集 name 参数必须是APR在部署mod_charset_lite的系统上使用的转换机制可接受的。这些字符集名称不是标准化的,通常与 http headers 中使用的相应值不同。目前,APR 只能使用 iconv(3),因此您可以使用 iconv(1)程序轻松测试您的字符集名称,如下所示:
iconv -f charsetsourceenc-value -t charsetdefault-value
内容字符集与翻译规则不匹配
如果翻译规则对内容没有意义,翻译可能会以各种方式失败,包括:
- 转换机制可以 return 一个坏 return code,连接将被中止。
- 当转换机制无法转换输入缓冲区时,它可以在输出缓冲区中静默放置特殊字符(e.g.,问号)。
CharsetDefault 指令
描述: | Charset 翻译成 |
句法: | CharsetDefault charset |
Context: | server config,virtual host,directory,.htaccess |
覆盖: | FileInfo |
状态: | 延期 |
模块: | mod_charset_lite |
CharsetDefault
指令指定应将关联容器中的内容转换为的字符集。
必须通过APR中的字符集支持将 charset 参数的 value 接受为有效字符集 name。通常,这意味着它必须由 iconv 支持。
例
<Directory "/export/home/trawick/apacheinst/htdocs/convert"> CharsetSourceEnc UTF-16BE CharsetDefault ISO-8859-1 </Directory>
为和 CharsetSourceEnc和CharsetDefault 和指定相同的字符集会禁用转换。 charset 不需要匹配响应的 charset,但它必须是系统上的有效 charset。
CharsetOptions 指令
描述: | 配置 charset 翻译行为 |
句法: | CharsetOptions option[option]... |
默认: | CharsetOptions ImplicitAdd |
Context: | server config,virtual host,directory,.htaccess |
覆盖: | FileInfo |
状态: | 延期 |
模块: | mod_charset_lite |
CharsetOptions
指令配置mod_charset_lite的某些行为。选项可以是其中之一
ImplicitAdd | NoImplicitAdd
ImplicitAdd 关键字指定当 configuration 指定应翻译内容的字符集时 mod_charset_lite 应隐式插入其过滤器。如果使用 AddOutputFilter 指令显式配置过滤器链,则应指定 NoImplicitAdd,以便 mod_charset_lite 不添加其过滤器。TranslateAllMimeTypes | NoTranslateAllMimeTypes
通常,mod_charset_lite 将仅在可能的 mimetypes 的一小部分上执行转换。为给定的 configuration 部分指定 TranslateAllMimeTypes 关键字时,将执行转换而不考虑 mimetype。
CharsetSourceEnc 指令
描述: | files 的源字符集 |
句法: | CharsetSourceEnc charset |
Context: | server config,virtual host,directory,.htaccess |
覆盖: | FileInfo |
状态: | 延期 |
模块: | mod_charset_lite |
CharsetSourceEnc
指令指定关联容器中 files 的源字符集。
必须通过APR中的字符集支持将 charset 参数的 value 接受为有效字符集 name。通常,这意味着它必须由 iconv 支持。
例
<Directory "/export/home/trawick/apacheinst/htdocs/convert"> CharsetSourceEnc UTF-16BE CharsetDefault ISO-8859-1 </Directory>
此 example 中的字符集名称与 Solaris 8 中的 iconv 转换支持一起使用。
为和 CharsetSourceEnc和CharsetDefault 和指定相同的字符集会禁用转换。 charset 不需要匹配响应的 charset,但它必须是系统上的有效 charset。