tomcat8.5及以上get请求tomcat会帮你解决乱码问题,但是还是会有不能解决的时候,可能原因是
1.server.xml文件中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/>
URIEncoding="utf-8"没设。
2.apache-tomcat-8.5.70\bin文件夹中
catalina.bat中
if not "%JSSE_OPTS%" == "" goto gotJsseOpts
set "JSSE_OPTS=-Djdk.tls.ephemeralDHKeySize=2048"
:gotJsseOpts
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8"(红色字加上原来可能没有)
3.idea中
这几个需要设置
post请求中文乱码问题:要有
pom.xml:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.5.RELEASE</version> </dependency>
web.xml:要放在所有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> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
以上是我总结的一些原因,只说了解决办法,原理还有些不太清楚