淇℃伅 Tomcat日志乱码的原因与解决方法

问题现象: 启动tomcat时,看见日志里有淇℃伅字样的乱码

 

04-Jun-2020 14:10:58.553 淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:ParallelGCThreads=16

04-Jun-2020 14:10:58.553 淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+HeapDumpOnOutOfMemoryError

04-Jun-2020 14:10:58.553 淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom

04-Jun-2020 14:10:58.554 淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true

 

问题分析:百度一搜,解决方案很多。

1,按照网上的方法,修改/tomcat/apache-tomcat-8.0.50/conf/logging.properties,增加黑字部分的一行。

java.util.logging.ConsoleHandler.level = FINE

java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

java.util.logging.ConsoleHandler.encoding = GBK

可以正常显示中文

04-Jun-2020 14:10:58.553 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom

04-Jun-2020 14:10:58.554 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true

 

2,查看LANG为zh_CN.UTF-8

[root@4cc91c865d88 conf]# echo $LANG

zh_CN.UTF-8

Tomcat默认编码方式也是UTF-8

为什么显示乱码呢?

原来是使用的secureCRT也要指定字符编码。必须指定UTF-8,才能正常识别。之前出错就是因为secureCRT的字符编码选的是GB2312。

 

 

问题收获:

1,想要显示中文,就要涉及编码解码,各个环节的编码方式要匹配,否则就会有乱码。

java.util.logging.ConsoleHandler.encoding = GBK指定了tomcat日志默认的编码格式,而secureCRT一开始指定的是GB2312,两种编码格式可以兼容,就可以正常显示中文。

如果不设置java.util.logging.ConsoleHandler.encoding =GBK,tomcat使用操作系统的字符集,因为操作系统是UTF-8,就必须把secureCRT也改为UTF-8。

 

2,zh_CN.UTF-8,其中zh_CN表示语言环境,设置成zh_CN,tomcat日志输出中文,“信息”两个字就是中文,而设置成en_US,信息两个字就会被INFO代替。

很多软件,也会根据不同的语言环境调整不同的显示。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值