在使用tomcat服务器执行程序时控制台乱码

解决方法:在idea中点击帮助,选择编辑自定义vm选项

打开文件后在其中添加:
-Dfile.encoding=UTF-8

如果重启idea仍没有解决乱码问题,点击文件选择设置,搜索:Encoding

选择文本编码,将里面的内容设置为utf-8,然后应用点击确定

以上修改后如果还是有乱码问题,那么就需要修改tomcat文件,打开配置tomcat文件中conf目录下的logging.properties文件,在里面添加上对应的 编码内容及对应的utf-8;添加内容在截图后面



-
- 1catalina.org.apache.juli.AsyncFileHandler.level = FINE
- 1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
- 1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
- 1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
-
- 2localhost.org.apache.juli.AsyncFileHandler.level = FINE
- 2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
- 2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
- 2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
-
- 3manager.org.apache.juli.AsyncFileHandler.level = FINE
- 3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
- 3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
- 3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
-
- 4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
- 4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
- 4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
- 4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
-
- java.util.logging.ConsoleHandler.level = FINE
- java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
- java.util.logging.ConsoleHandler.encoding = UTF-8
-
按照以上步骤修改后就能完美解决乱码问题了,正确运行结果如下

cookie中实际存储的内容为

但tomcat执行后控制台打印的结果

需要重新编辑一下tomcat配置

在虚拟机选项中添加: -Dfile.encoding=UTF-8 ,点击应用确定后就解决乱码问题了

