SpringMVC提交数据时出现乱码的设置方法
请求乱码:
- GET请求:改sever.xml:在8080端口处URIEncoding=“UTF-8”(也就是tomcat目录下面的文件)
- POST请求:在第一次获取参数之前设置request.setCharacterEncoding(“UTF-8”);
自己写一个filter
使用过滤器设置请求字符编码
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!-- 配置一个字符编码的过滤器filter
encoding:制定解决POST请求乱码的
一定注意:字符编码的filter一般都在其他的Filter之前
-->
<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>
<init-param>
<!-- 顺手解决响应乱码 -->
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 使用SpringMVC前端控制器写完就直接写字符编码过滤器;
Tomcat一装上,上手就是sever.xml的8080出添加URIEncoding="UTF-8"
-->
</web-app>
修改sever.xml文件
响应乱码:
- response.setContentType("text/html;charset=uft-8);