Tomcat get请求中文参数乱码

场景:使用Tomcat容器进行get方式传递中文参数到后台乱码。
原因:Tomcat默认的编码方式是ISO-8859-1。
解决方案:
  1. 设置cofg-server.xml中的<Connector>
    eg: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
    析:URIEncoding="UTF-8" // 设置url传输时对url内容的编码格式
        compression="on"   // 打开压缩功能 
        compressionMinSize="2048"  //启用压缩的输出内容大小,这里面默认为2KB
        noCompressionUserAgents="gozilla, traviata" // 对于以下的浏览器,不启用压缩 
        compressableMimeType="text/html,text/xml"   // 压缩类型

  2. 在使用get方式传参时将中文参数转化为URL的格式。即用urlEncode或urlDecode转化后(以百分号开头)再进行传输。
      注意:用这种方式需要注意两个地方:1.前后台的处理必须一样,也就是说前端使用urlEncode后端也要使用urlEncode。2.中文参数要先转码再拼接。否则会把其他定位符也转换掉。

猜你喜欢

转载自www.cnblogs.com/tanjiyuan/p/11547779.html