iconv_filter

NGINX 中的 iconv_filter 指令可以在响应体发送到客户端之前进行字符编码转换。

语法iconv_filter from= to=;
默认值none
上下文location
参数2

说明

iconv_filter 指令是 NGINX iconv 模块的一部分,该模块利用 libiconv 库将响应体数据的字符编码进行转换。该指令在 location 块中指定,并接受两个参数:源编码(from)和目标编码(to)。当应用此指令时,它会修改该 location 生成的输出内容,将其从指定的源编码转换为目标编码。这在提供需要特定编码以满足客户端要求或偏好的内容时尤其有用。

该指令通过挂钩到 NGINX 的输出过滤机制来工作,允许它处理 HTTP 响应的主体。转换以分块方式处理,指令控制数据如何被读取、转换然后输出。iconv_buffer_size 指令常与 iconv_filter 一起使用,以定义在转换过程中使用的缓冲区大小。如果未指定,NGINX 将使用系统默认的缓冲区大小。此外,还可以使用 set_iconv 指令对 NGINX 配置中的单个变量执行编码转换,为动态内容生成提供灵活性。

配置示例

location /example {
    iconv_filter from=utf-8 to=gbk;
    iconv_buffer_size 1k;
    # other configurations
}

确保 iconv 模块在 NGINX 中已正确安装并加载;默认情况下未包含该模块。

使用错误的字符编码名称可能导致转换失败;请验证所指定的编码。

请记住,Content-Type 应与目标编码兼容,以避免出现乱码。

← 返回所有指令