URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
2013-07-16 09:26
495 查看
大家知道tomcat5.0开始,对网页的中文字符的post或者get,经常会出现乱码现象。
具体是因为Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,这样的话中文字符肯定就不能被正确解析了。
常见的解决方法是在tomcat的server.xml下的connetor属性中增加URIEncoding或者useBodyEncodingForURI属性。
但是,这两种方式有什么区别呢?
我简单谈一下自己的理解:
按照tomcat-docs/config/http.html文档的说明
URIEncoding:This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
useBodyEncodingForURI:This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding.
也就是说,
useBodyEncodingForURI参数表示是否用request.setCharacterEncoding
参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
URIEncoding和useBodyEncodingForURI区别是,
URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码
具体是因为Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,这样的话中文字符肯定就不能被正确解析了。
常见的解决方法是在tomcat的server.xml下的connetor属性中增加URIEncoding或者useBodyEncodingForURI属性。
但是,这两种方式有什么区别呢?
我简单谈一下自己的理解:
按照tomcat-docs/config/http.html文档的说明
URIEncoding:This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
useBodyEncodingForURI:This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding.
也就是说,
useBodyEncodingForURI参数表示是否用request.setCharacterEncoding
参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
URIEncoding和useBodyEncodingForURI区别是,
URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码
相关文章推荐
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别及CharacterEncodingFilter(备忘)
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别及CharacterEncodingFilter(备忘)
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
- Tomcat中文乱码处理:URIEncoding,useBodyEncodingForURI
- Tomcat中文乱码处理:URIEncoding,useBodyEncodingForURI
- Tomcat中文乱码处理之URIEncoding、useBodyEncodingForURI及CharacterEncodingFilter
- 写了一个查询数据库的程序,不熟的Tomcat6。查询条件为英文时运行正常,为中文时出现乱码。后在tomcap的server.xml中加入useBodyEncodingForURI="true解决了问题
- 如何利用URIEncoding和useBodyEncodingForURI解决tomcat中文乱码问题
- Spring MVC中解决中文乱码问题时useBodyEncodingForURI="true"的作用
- useBodyEncodingForURI="true"解决Tomcat乱码问题
- URIEncoding和useBodyEncodingForURI区别
- [c.y.j]tomcat URIEncoding useBodyEncodingForURI
- 在tomcat下端口号设置后面 添加 URIEncoding=UTF-8可以使传递中文的不乱码
- 工作积累(七)——Tomcat URIEncoding引起的中文乱码问题
- jsp中img标签路径不能包含中文,关于Tomcat的URIEncoding以及GET乱码
- 在tomcat下端口号设置后面 添加 URIEncoding=UTF-8可以使传递中文的不乱码
- URIEncoding和UseBodyEncodingForURI的解释