在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"
/>
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"
/>
本文探讨了在Web开发中GET请求导致的中文乱码问题及其解决方案。详细介绍了为何使用request.setCharacterEncoding(utf-8)无法解决GET请求中的乱码,并提供了一种手动转码的方法。同时,还给出了通过配置Tomcat解决此问题的具体步骤。
1004

被折叠的 条评论
为什么被折叠?



