一般说来,我们在使用 Tomcat 4 透过 GET or POST 的方式传参数时,通常都是使用 Filter 的方式来解决中文传参数的问题。
但是到了 Tomcat
5.0.19
之后,解决中文传递参数时,就必须考虑是使用 GET or POST,两种解决的方式不一样。
如果是使用 GET 的方式传递时,使用
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:URIEncoding=”GBK”(或者UTF-8)
完整的应如下:
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="GBK"/>
2) String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"GB2312");
若是使用 POST 的方式时,就延用传统一般解决中文的方式
request.setCharacterEncoding("GB2312"); //可以用Filter
统一使用 Filter 的方式
Filter 的做法就是:先判断是使用那种传递方式( GET or POST),假若是用 GET 的方式就采用第一种 code;若使用POST 方式,就采用第二种 code。