charset_types
指令 `charset_types` 定义了在 NGINX 中为哪些 MIME types 设置指定字符集。 — NGINX HTTP Core
charset_types
httpserverlocation
语法charset_types type1 [type2...];
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+
说明
NGINX 中的 `charset_types` 指令允许管理员指定哪些内容类型将应用特定的字符编码。该指令接受一个或多个 MIME types 作为参数,并且必须在 `http`、`server` 或 `location` 区块中使用。当响应匹配所定义的某一 MIME types 时,NGINX 会自动为该字符集添加相应的 `Content-Type` 头,从而告知客户端如何正确解释响应数据。 例如,如果您定义了 `charset_types text/html application/json;`,对于任何带有 `Content-Type: text/html` 或 `Content-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` 时请小心,因为它会影响定义上下文内所有匹配的响应,如果不加以妥善控制,可能导致意外行为。