charset_types

指令 `charset_types` 定义了在 NGINX 中为哪些 MIME types 设置指定字符集。

语法charset_types type1 [type2...];
默认值none
上下文http, server, location
参数1+

说明

NGINX 中的 charset_types 指令允许管理员指定哪些内容类型将应用特定的字符编码。该指令接受一个或多个 MIME types 作为参数,并且必须在 httpserverlocation 区块中使用。当响应匹配所定义的某一 MIME types 时,NGINX 会自动为该字符集添加相应的 Content-Type 头,从而告知客户端如何正确解释响应数据。

例如,如果您定义了 charset_types text/html application/json;,对于任何带有 Content-Type: text/htmlContent-Type: application/json 的响应,NGINX 都会发送由 charset 指令定义的字符集。通过为不同的文件类型定义默认字符集,这在确保客户端正确渲染文本方面尤其有用,并提升与诸如 UTF-8 之类的多字节字符编码的兼容性。

如果请求的内容类型不匹配 charset_types 中指定的任何类型,NGINX 将不会对这些响应应用由 charset 指令定义的默认字符集,从而对不同内容类型如何处理字符编码提供更精细的控制。

配置示例

http {
    charset UTF-8;
    charset_types text/html application/json text/css;
}

如果在配置中未设置 charset,则 charset_types 不会生效,因为没有可应用于指定类型的字符集。

设置 charset_types 时请小心,因为它会影响定义上下文内所有匹配的响应,如果不加以妥善控制,可能导致意外行为。

← 返回所有指令