tomcat 7 到tomcat8 亂碼問題
阿新 • • 發佈:2018-09-16
work name connector als 請求 req pattern size enable
tomcat8自動處理了get 請求的亂碼,默認為UTF-8,
而tomcat7默認為iso-8859-1
解決方法很簡單: 修改tomcat下的conf/server.xml文件,找到如下代碼:
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />這段代碼規定了Tomcat監聽HTTP請求的端口號等信息。可以在這裏添加一個屬性:URIEncoding,
即可讓Tomcat(默認編碼)以ISO-8859-1的編碼處理get請求。更改後的代碼如下所示: URIEncoding="ISO-8859-1"
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"URIEncoding="ISO-8859-1"/>
我們只要處理post 亂碼問題
(1): request.setCharacterEncoding("UTF-8");
(2):過濾器處理
<!--post 請求亂碼--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
tomcat 7 到tomcat8 亂碼問題