spring遇到jsp向后台controller传中文后乱码问题

来源:互联网 发布:淘宝打开商品w异常 编辑:程序博客网 时间:2024/06/06 09:13

当content-type是"application/x-www-form-urlencoded; charset=utf-8"时,spring会自动设置request.setCharacterEncoding("UTF-8"),我用ajax方式提交的数据都是这样的content-type,没有乱码。但是form标签不能指定charset,spring默认设置的是Latin-1,所以会有乱码。虽然我在拦截器中已经setCharacterEncoding("UTF-8"),但是spring已经在这之前把浏览器发过的utf-8编码转成了Latin-1。


解决办法:

在web.xml中添加如下配置:
<filter>
  <filter-name>Spring character encoding filter</filter-name>
  <filter-class>
  org.springframework.web.filter.CharacterEncodingFilter
  </filter-class>
  <init-param>
  <param-name>encoding</param-name>
  <param-value>utf-8</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>Spring character encoding filter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

2 0
原创粉丝点击