1. 程式人生 > >當配置了filter後SpringMVC Controller 接收頁面傳遞的中文引數還出現亂碼時,要修改tomcat的server.xml配置檔案

當配置了filter後SpringMVC Controller 接收頁面傳遞的中文引數還出現亂碼時,要修改tomcat的server.xml配置檔案

新配置一個spring的MVC專案,發現對Get請求的中文引數出現了亂碼:


查看了SpingMVC中關於編碼的配置(在web.xml中),如下:

  1. <filter>    
  2.     <filter-name>encodingFilter</filter-name>    
  3.     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    
  4.     <init-param>    
  5.         <param-name>encoding</param-name>    
  6.         <param-value>utf-8</param-value>    
  7.     </init-param>    
  8.     <init-param>    
  9.         <param-name>forceEncoding</param-name>    
  10.         <param-value>true</param-value>    
  11.     </init-param>    
  12. </filter>    
  13. <filter-mapping>    
  14.     <filter-name>encodingFilter</filter-name>    
  15.     <servlet-name>appkit</servlet-name>    
  16. </filter-mapping>   
應該不是Spring的問題,應該是Tomcat的問題,然後去修改Tomcat的配置檔案server.xml,新增URIEncoding="UTF-8"
  1. <Connector port="8080" protocol="HTTP/1.1"
  2.            connectionTimeout="20000"
  3.            redirectPort="8443"
  4.            URIEncoding="UTF-8"/>  
然後就好了