GET url传参中文乱码问题的解决【好用】 GET url传参中文乱码问题的解决

0.1442018.12.21 12:00:34字数 184阅读 1,180

百度了很多种方式,最后的解决办法终于尝试出来了:

方法一

get方式提交的参数编码,只支持iso8859-1编码。因此,如果里面有中文。在后台就需要转换编码:

String userName = request.getParameter("userName");
userName = new String(userName.getBytes("iso8859-1"), "UTF-8");

注:如果你的页面编码集为utf-8,则按照此方法设置,如果是gbk,则将utf-8改成gbk即可(该方法我已经自己尝试过,可行)

方法二

修改tomcat的server.xml文件:
在如下代码中增加两个配置(URIEncoding="UTF-8" useBodyEncodingForURI="true"):
修改前:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="200000" redirectPort="8443" />

修改后:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="200000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

(嘻嘻,该方法待验证,不过可以一试,万一你的可以呢)