• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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。

    上篇:mod_cgid

    下篇:mod_data