解决方法:
首先确定是tomcat的问题还是mysql的问题。
在servlet中添加打印,发现请求过来就是乱码了,排除mysql
apache-tomcat-9.0.62/conf/web.xml增加如下配置,此配置只是过滤post请求编码问题
<!--4.x-->webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java<!--5.x-->webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.javawebapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java<!--6.x-->webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java<!--7.x (已经将这个Filter加入Tomcat内置了,具体位置:tomcat目录下的conf/web.xml,直接复制一下代码到你的项目web.xml中)--><filter><filter-name>setCharacterEncodingFilter</filter-name><filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>setCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
get请求编码问题,在Tomcat安装文件夹中找到server.xml文件,查找标签进行修改(此方法一劳永逸)
增加URIEncoding=“UTF-8”
<Connector URIEncoding="UTF-8"port="8080" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25" maxSpareThreads="75"connectionTimeout="20000" disableUploadTimeout="true" />
如果觉得《tomcat 9 http请求中文乱码问题》对你有帮助,请点赞、收藏,并留下你的观点哦!