1.如果單使用tomcat,不整合apache
我們需要修改server.xml文件的如下行:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
注意URIEncoding="UTF-8"的部分,即將URI的編碼設置爲“UTF-8“,這樣就不會有問題了;
2.整合tomcat和apache後的設置
剛開始我沒有整合的時候傳遞的中文參數可以很好的解決,後來整合apache後,卻出現亂碼了,繞過apache後是正常的,所以問題出現在apache或apache和tomcat的通信上,經過baidu,好不容易找到答案。修改server.xml文件中的如下行:
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />
這出現apache和tomcat的通信上,由於我這裏的整合是採用JK,tomcat使用的是ajp13協議,所以,需要在他們的通信階段來處理編碼,即代碼中的URIEncoding="UTF-8"部分。
以上是我在處理tomcat的中文參數時遇到的問題,記下來以備速查:-)