GET请求传递中文参数出现乱码问题(适用于Tomcat服务器)

      中文参数乱码的问题,归根到底就是编码与解码时格式不一致导致的。要解决这类问题,首先就得分析前台传参是以什么格式对请求进行编码的,后台再以相应的格式进行解码就可以了。

       Tomcat的默认编码是ISO-8859-1,当Tomcat收到GET请求时,它会使用ISO-8859-1对请求进行编码,因此Java后台在接收这些中文参数时,必须使用ISO-8859-1进行解码,再以UTF-8的格式进行编码,才能得到正确的中文参数.

       这种情况可以有两种方法来解决编码问题:

       1.通过修改Tomcat的默认编码方式为UTF-8解决乱码问题

        在tomcat的conf目录下,编辑server.xml配置文件,找到下面的代码

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

        添加URIEncoding="UTF-8" 

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

       2.在WEB项目中增加一个字符编码转换的拦截器,将ISO-8859-1编码转换成UTF-8编码


你可能感兴趣的:(GET请求传递中文参数出现乱码问题(适用于Tomcat服务器))