jsp提交中文,get或post提交时可能出现乱码,看到这里的时候,看到网上的写法众说纷纭,所以在这里实操后总结下.
- 修改tomcat配置文件,找到Tomcat目录下的
conf
文件的sever.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
注: 原先没有URIEncoding="UTF-8",添加上这个
/
get时编码就对了,post还是会乱码.
- 很多人可能以为改改jsp html 改改请求头的编码就行啊,然而改了还是没用
使用字符过滤器
在web.xml
中 添加 字符集过滤器
<filter>
<description>字符集过滤器</description>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
forceEncoding
是强制字符集
true
处理请求和响应,
request.setCharacterEncoding(“”);
response.setCharacterEncoding(“”);
false
只处理
request.setCharacterEncoding(“”);
喜欢的点个赞💖
😀