`

Tomcat下被忽略的中文乱码问题GET请求

    博客分类:
  • web
阅读更多
在web开发下一直使用的filter进行转码的。
request.setCharacterEncoding("utf-8");
不过今天我想在传递url?role=角色将中文作为附带信息进行下一页面的显示。
发现传递之后一直是乱码。
必须用new String(request.getParameter("role").getBytes("iso-8859-1"),"utf-8")
进行转换。
原来tomcat在处理get和post请求的时候处理方式不同。
POST请求是将参数存放在请求数据包的消息体中
所以使用request.setCharacterEncoding("utf-8");可以处理
但是GET请求是将参数存放在url中,此时setCharacterEncoding就不起作用了,此时我们需要采用手写代码进行转码。
当然我们也可以修改tomcat配置文件来处理get请求的转码

conf\server.xml
<Connector port="80" protocol="HTTP/1.1"    
           connectionTimeout="20000"    
           redirectPort="8443"    
           URIEncoding="UTF-8"   
/>


分享到:
评论
2 楼 llying 2011-01-03  
有些问题只有碰到了才会发觉~!
1 楼 zhujinguo 2010-12-29  
好基础啊!

相关推荐

Global site tag (gtag.js) - Google Analytics