关闭

spring mvc乱码的解决方案

198人阅读 评论(0) 收藏 举报
分类:


  • 今天用springMVC接收表单中文数据时总量乱码,按照网上的解决方案设置过滤器后,post的表单不乱码了,但get的表单还是会乱码。

解决get方法乱码的方案是修改tomcat的server.xml配置文件,修改<connector>如下,加入字符集编码:

 

Xml代码  收藏代码
  1. <Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>  
 

 

过滤器的代码如下:

 

Xml代码  收藏代码
  1. <!-- Character Encoding filter -->  
  2.     <filter>  
  3.         <filter-name>encodingFilter</filter-name>  
  4.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  5.         <init-param>  
  6.             <param-name>encoding</param-name>  
  7.             <param-value>UTF-8</param-value>  
  8.         </init-param>  
  9.         <init-param>  
  10.             <param-name>forceEncoding</param-name>  
  11.             <param-value>true</param-value>  
  12.         </init-param>  
  13.     </filter>  
  14.   
  15.     <filter-mapping>  
  16.         <filter-name>encodingFilter</filter-name>  
  17.         <url-pattern>/*</url-pattern>  
  18.     </filter-mapping>  

 

  • 以上这样可以解决几乎所有的总量(注意是“几乎”),一些get方法还是没办法解决,如

 

Html代码  收藏代码
  1. <a href="test.jsp?key=中文" />  

  这里有个更好的解决办法就是配置tomcat的server.xml文件

 

Xml代码  收藏代码
  1. <Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"  useBodyEncodingForURI="true"/>  
  • 今天用springMVC接收表单中文数据时总量乱码,按照网上的解决方案设置过滤器后,post的表单不乱码了,但get的表单还是会乱码。

解决get方法乱码的方案是修改tomcat的server.xml配置文件,修改<connector>如下,加入字符集编码:

 

Xml代码  收藏代码
  1. <Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>  
 

 

过滤器的代码如下:

 

Xml代码  收藏代码
  1. <!-- Character Encoding filter -->  
  2.     <filter>  
  3.         <filter-name>encodingFilter</filter-name>  
  4.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  5.         <init-param>  
  6.             <param-name>encoding</param-name>  
  7.             <param-value>UTF-8</param-value>  
  8.         </init-param>  
  9.         <init-param>  
  10.             <param-name>forceEncoding</param-name>  
  11.             <param-value>true</param-value>  
  12.         </init-param>  
  13.     </filter>  
  14.   
  15.     <filter-mapping>  
  16.         <filter-name>encodingFilter</filter-name>  
  17.         <url-pattern>/*</url-pattern>  
  18.     </filter-mapping>  

 

  • 以上这样可以解决几乎所有的总量(注意是“几乎”),一些get方法还是没办法解决,如

 

Html代码  收藏代码
  1. <a href="test.jsp?key=中文" />  

  这里有个更好的解决办法就是配置tomcat的server.xml文件

 

Xml代码  收藏代码
  1. <Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"  useBodyEncodingForURI="true"/>  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:58509次
    • 积分:976
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:29篇
    • 译文:0篇
    • 评论:5条