刚下载的tomcat就是乱码?
前置
idea的设置以下更改为utf-8
File->Settings->Editor->File Encodings
File->Other Settings->Default Settings ->Editor->File Encodings
File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler
vm文件 -Dfile.encoding=UTF-8
一.然后tomcat中logging.properties文件所有日志为:
java.util.logging.ConsoleHandler.encoding = UTF-8
当前配置时,直接启动tomcat是乱码的,应该是因为win是GBK编码,使用chcp命令可以查看
当上面这些配置后,启动项目发现启动日志和响应日志都不乱码,但是项目打印的乱码了.
//获取系统默认编码 System.out.println(System.getProperty("file.encoding"));
然后在启动日志中加入这句,发现输出是GBK,感觉应该是在win中系统默认都是GBK的原因
3.通过配置这个可以解决乱码
这个配置貌似可神奇了.貌似什么乱码都可以解决.
二.这里的话,我是java.util.logging.ConsoleHandler.encoding没有配置,应该会走默认GBK吧,所有本地启动不乱码,然后到了idea会乱码,加上上面内个vm参数后,idea中java日志不乱码了.则只看到tomcat停止日志会乱码,并打印出UTF-8
增加这句,停止不乱码了
java.util.logging.ConsoleHandler.encoding = UTF-8
结论:
首先分两种情况,
1是直接启动tomcat,
这里就不用考虑这么多了,logger.properties配置的是什么就怎么展示,win的话GBK就可
2.是在idea中启动
这里的话,要么是修改启动时的vm参数,要么需要修改tomcat启动脚本中的encode参数,,都改为utf-8,因为这个vm参数会传递到启动服务中,空着着java项目中的日志显示编码格式
然后启动日志的话只要idea中都是这utf-8,logger.properties也是utf-8就可以了
|