- 使用spring提供的filter解决乱码问题
- 接受乱码问题的解决
- 发送乱码问题的解决
使用spring提供的filter解决乱码问题
Spring 本身提供了一个用于转换编码的filter,
org.springframework.web.filter.CharacterEncodingFilter
,在web.xml中配置后,Spring将会自动为你解决传输中的乱码问题。配置如下:
但是,在tomcat6以后,filter的设置只能对POST奇效,而且在一些特殊情况下哪怕设置了filter依旧会出现乱码问题,解决办法如下:
接受乱码问题的解决
修改tomcat容器的server.xml,在以下位置加入URIEncoding=”UTF-8”
如此操作后,即可强制容器以utf-8进行编码
发送乱码问题的解决
上面修改tomcat容器配置文件只会在接受时使编码正确,但是应用发送的仍会有编码问题,这时,应在相应的controller上添加:produces=”text/html;charset=UTF-8”,以保证输出内容编码不会混乱