mlczhg 发表于 2017-1-18 07:25:30

Tomcat 那些事儿

  
tomcat接收中文参数乱码问题的总结

其实是一个相当老的问题,勾勾可以查到很多,昨天不小心又碰到了,总结一下.
1 一般我们的页面都用UTF-8编码,IE里面也是默认用UTF-8传递参数.
2 参数中包含的中文提交时都转为编码形式,如果是javascript提交可以用...+encodeURI(param)的方式提交参数,地址栏显示结果形如:xxxx&path=%E9%80%81%E5%A4%84%E7%90%86
3 一般推荐的方式是修改tomcat/conf/server.xml,在如下小节中加入URIEncoding="UTF-8"
 
         <Connector   port="8080"   maxThreads="150"   minSpareThreads="25"     
  maxSpareThreads="75"   enableLookups="false"   redirectPort="8443"     
  acceptCount="100"   debug="0"   connectionTimeout="20000"     
  disableUploadTimeout="true"   URIEncoding="UTF-8"   /   >   
4 如果不采用步骤3,可以在接收时转化为utf-8,这样每个参数都必须转换
path=new String(path.getBytes("ISO-8859-1"), "UTF-8");
 
注意: 如果使用Mysql,还要把Mysql的编码问题解决,见Mysql那些事儿
页: [1]
查看完整版本: Tomcat 那些事儿