天天看点

Spring乱码问题解决方案

原因:请求参数带在url地址上、url地址什么时候解析?

tomcat收到请求对url进行编解码(ISO8859-1)

解决方案:在tomcat的8080端口配置出加上 URIEncoding="utf-8";

Spring乱码问题解决方案

 原因:请求参数是带在请求体

 请求体的解码是在第一次获取参数的时候

 filter可以用来解决乱码

 request.setCharacterEncoding("utf-8")

 response.setContentType("text/html;charset=utf-8")

 1、tomcat一安装;上手就给server.xml中的8080处加上URIEncoding="utf-8"

 2、给项目里面再搞一个filter让他来解决所有的post乱码;

 3、SpringMVC自带的一个乱码解决的filter

项目的web.xml中配置:

在配置里面配置了encoding和forceEncoding

来看看CharacterEncodingFilter的源码,通过request.setCharacterEncoding(this.encoding)和response.setCharacterEncoding(this.encoding)来解决post请求和响应乱码的问题: