tomcat编码以及web中编码相关

1,系统环境变量,jvm运行jar需要依赖环境变量。

-Dfile.encoding=UTF-8,在启动脚本中设定jvm依赖的参数,解析文件使用的编码。

2,URL编码。

1) tomcat使用Connector,接收请求,创建httpRequest和httpResponse等对象。需要指定URL使用utf的编码用于处理中文


2)新版的tomcat不允许URI中使用中文。
Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
apache-tomcat-7.0.81以及以上版本,URI中不可以使用中文(配置URIEncoding,是tomcat对请求使用utf8进行解码)。
apache-tomcat-7.0.57以及以下的版本,URI中可以使用中文。

3,浏览器编码

1)chrome中,请求地址和参数,均经过utf-8编码(地址栏显示的是解码的数据)。
image.png

2)非chrome浏览器,请求地址使用utf-8编码。参数编码跟系统相关。
3)超链接,js超链接访问,请求地址使用utf8,参数使用页面编码。
4)ajax中,非IE浏览器,请求地址使用utf8,参数使用页面编码。IE中,都是用gbk。

你可能感兴趣的:(tomcat编码以及web中编码相关)