ngx_http_charset_module
用于数据字符集转换,在响应中添加特定的Content-Type
头,字符集转换存在以下限制:
注意
- 只能以从服务端到客户端的方式转换
- 只有单字节的字符集可以被转换
- 单字节的字符转为/被转为UTF-8
指令
名称 | 参数类型 | 默认值 | 作用描述 | 上下文 |
---|---|---|---|---|
charset | charset /off | off | 为响应头的Content-Type 添加指定的字符集。 如果这个字符集和source_charset指令设置的字符集不同,就会进行转换。 | http, server, location, if in location |
charset_map | block | - | 描述了从一个字符集到另一个字符集的转换表 | http |
charset_types | mime-type | text/html text/xml text/plain text/vnd.wap.wml application/x-javascript application/rss+xml | 使模块在响应时能处理除了text/html 之外其他指定的MIME类型,特殊值* 匹配任意的MIME类型. | http, server, location |
override_charset | on/off | off | 接收到的代理服务器已经带有字符集的情况,确定是否进行字符集转换 | http, server, location, if in location |
source_charset | charset | - | 定义响应中的原始字符集。 如果这个字符集和charset指令设置字符集的不同,就会进行转换。 | http, server, location, if in location |
示例
nginx
http {
# 自定义字符集转换 gb2312 -> utf-8
charset_map gb2312 utf-8 {
0xA3 U+00A5;
0x80 U+20AC;
}
# nginx自带的编码转换 win -> utf-8
include win-utf;
# nginx自带的编码转换 kio -> utf-8
include koi-utf;
server {
listen 8081;
server_name localhost;
# 源字符集为ISO-8859-1编码
source_charset ISO-8859-1;
# 目标字符集类型为UTF-8
charset UTF-8;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20