Tomcat乱码分为控制台乱码和项目部署后展示在浏览器乱码;
1.控制台乱码:
控制台乱码是因为tomcat默认编码和cmd默认编码不一致导致的。
这种情况可以通过修改tomcat配置文件解决,以Tomcat-9.0.27为例:
首先找到tomcat文件夹下的conf目录,找到 logging.properties 打开后找到
java.util.logging.ConsoleHandler.encoding = UTF-8 (51行位置处)
将此配置项改为 java.util.logging.ConsoleHandler.encoding = GBK
修改完毕后保存,重新打开,即可解决控制台乱码问题
2.war包资源部署在Tomcat服务器上,使用浏览器打开乱码
浏览器内打开乱码是因为浏览器解析编码与Tomcat编码不一致导致的
可以在代码内指定浏览器解析请求头的编码格式
resp.setContentType("text/html;charset=utf-8");
其中resp代表响应结果,text/html代表响应结果文本类型,此处我返回的是一段html代码
重新打包,可以看到浏览器显示中文已经不再乱码了