欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

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

Java Web water 3659℃ 0评论

在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"   

/>

转载请注明:学时网 » tomcat下被忽略的中文乱码问题GET请求

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!