windows下tomcat控制台输出乱码

tomcatHOME/config/logging.properties文件中有如下一行:

java.util.logging.ConsoleHandler.encoding = UTF-8
  • tomcat这样做的目的在于避免乱码,但在windows下并没有使用UTF-8,而是GBK,这就反而导致了乱码,将其改为GBK则可以避免windows环境下控制台输出乱码,但这仅限于server输出信息,如果想要避免Catalina log/Localhost log等等日志输出乱码还需要修改以下配置:

    1catalina.org.apache.juli.FileHandler.encoding = GBK
    2localhost.org.apache.juli.FileHandler.encoding = GBK
    3manager.org.apache.juli.FileHandler.encoding = GBK
    4host-manager.org.apache.juli.FileHandler.encoding = GBK

具体解释见下文:

乱码的根本原因:Windows系统的cmd是GBK编码的,所以IDEA的下方log输出的部分的编码也是GBK的,然而Tomcat 9.0 版本默认log输出是UTF-8编码的,采用了两种不同的编码方式就会导致乱码。

二、解决方案

方法1:修改Tomcat 日志输出为GBK编码(推荐使用这种方式)

先打开tomcat的安装目录

编辑 conf 目录下的 logging.properties

image

用notepad++ 打开,把里面的UTF-8 通通改成 GBK

image

保存,重启Tomcat,即可生效。

方法2:修改IDEA为UTF-8编码

首先打开 idea的安装目录

image

修改idea.exe.vmoptions和idea64.exe.vmoptions这两个文件

分别在这两个文件的最后,添加一行 -Dfile.encoding=UTF-8

这个参数的作用是强制系统文件使用UTF-8编码

image

idea.exe.vmoptions和idea64.exe.vmoptions这两个文件都要改

改完之后保存,重启IDEA即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。