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.中文参数要先转码再拼接。否则会把其他定位符也转换掉。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM