解决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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值