一.在每个控制器方法中加入如下代码:
响应:
response.setContentType("text/html;charset=utf-8");
请求
request.setCharacterEncoding("utf-8");
二.在springMVC中的注解中设置编码
例:
三.编写一个过滤器
1.新建一个过滤器Filter
(注意新建的是Filter类)
2.在过滤器中设置编码
四.解决post请求的中文乱码问题
在web.xml中配置一个CharacterEncodingFilter
过滤器,设置成utf-8
<filter>
<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
五.解决get请求的中文乱码问题
对前台传递的带有中文的参数进行设置编码格式
String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8");
备注: ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码。
六.在POM文件中配置
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>