解决Spring框架下中文乱码的问题

在使用了Spring框架下回发现很多表单交互的地方会发生乱码,而且写到数据库中也是乱码,这其实还是字符编码的问题,在我们还在用自己写的servlet的时候,直接在request和response加上字符约束就好了,但是我们在使用spring的时候,这样做就失去了框架的意义。

这时候我们可以使用一个过滤器来将转码。

如果你这样:

1 str = new String(str.getBytes("ISO-8859-1"), "GBK");

 转码。 写出来程序通用性不好,而且每次有中文都要这样,用过虑器好。但只对post方式有效。get方式看。

在spring中,不仅有已经写好的普通servlet,同样存在已经写好的过滤器,使用方法和spring的servlet的使用方法是一样的。我们可以直接在配置文件web.xml中配置好,就可以直接使用:这个过滤器的完整名字是:org.springframework.web.filter.CharacterEncodingFilter

部分web.xml中的代码:

 1 <filter>
 2     <filter-name>CharacterEncodingFilter</filter-name>  
 3     <filter-class>
 4         org.springframework.web.filter.CharacterEncodingFilter
 5     </filter-class>  
 6     <init-param>  
 7         <param-name>encoding</param-name>  
 8     <param-value>utf-8</param-value>  
 9     </init-param>  
10 </filter>
11   
12 <filter-mapping>  
13         <filter-name>CharacterEncodingFilter</filter-name>  
14         <url-pattern>/*</url-pattern>  
15 </filter-mapping>

通过这个配置我们整个工程项目的字符编码都会成为utf-8的编码。

==========================================================

欢迎各位转载。 注意:转载请注明出处。
原文地址:https://www.cnblogs.com/Summer7C/p/4712818.html