Post请求中文乱码问题
# Post请求中文乱码——web.xml中配置过滤器
<!-- spring提供的characterEncodingFilter配置 -->
<!--Post请求过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<!--观察发现这个类 CharacterEncodingFilter 有一个属性 encoding 所以提供一个initparm以及 value -->
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 给 CharacterEncodingFilter类的对象进行初始化的赋值 request.setCharacterEncoding-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!-- 响应编码的设置 true 设置response -->
<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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
以上处理针对于post请求,如果是get请求,则可以采用如下两种解决方案:
注:Tomcat8.5以上不用处理get请求
方案1:使用字符串的方法将获取的中文字符转换为utf-8
方案2:修改server.xml中的 <connector port="9090" URIEncoding="utf-8">
或者<Connector port="9090" useBodyEncodingForURI="true">
编辑 (opens new window)