Tomcat/IDEA控制台日志中文乱码解决方案汇总

现象:

在web工程开发中会不时的遇到控制台日志中文乱码,这些乱码形式主要有:

1,全是问号: {"code":"200","message":"????"}

2,Unicode形式:\u008D\u008E??\u009C??\u0088?\u008D\u0097

3,不知道形式:åä¸ï¼åï¼éå

经过整理网上各种优秀文章,现把解决方案整理如下,不一定全面,但是可以解决大部门的乱码问题,注意,以下各方案不涉及页面乱码

一,首先判断系统是否支持中文

    比如新建一个centos容器,需要判断该容器是否支持中文,判断方法是:

    执行:locale -a

    如果如下图包含zn_CN.utf8,则说明系统支持中文

若没有,则按照下述步骤依次执行:(参考自:Docker centos7 中文乱问题解决方案_baidu_33209239的博客-优快云博客_centos docker 中文乱码

1,安装语言包(针对centos7):yum install kde-l10n-Chinese -y

2,更新gitbc包(可省略):yum reinstall glibc-common -y

3,设置系统语言包:localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

4,在/etc/profile文件中新增:export LC_ALL=zh_CN.UTF-8

5,重新编译:source /etc/profile

6,设置/etc/locale.conf,新增:LANG="zh_CN.UTF-8"

7,然后重启镜像

二,修改tomcat日志配置文件

1,修改looging.properties文件,如下位置:

2,修改catalina.bat配置(参考自:解决Tomcat的Catalina日志中文乱码_zzzgd816的博客-优快云博客_catalina日志乱码

将:

if [ -z "$LOGGING_MANAGER" ]; then

  LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

fi

修改为:

if [ -z "$LOGGING_MANAGER" ]; then

  JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"

else

  JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER -Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8"

fi

如图:

三,设置IDEA编码格式(参考自:Springboot 之 解决IDEA读取properties配置文件的中文乱码问题_九龙冰室083的博客-优快云博客

依次打开file->setting->editor->file encoding,下图所示位置均选为UTF-8,最后要把Transparent native-to-ascii conversion勾选上

如果完成上述步骤后仍然乱码,则使用以下终极方法:

1,随便在.properties文件里边添加一行无关配置,刷新以下缓存就好了。

2,把.properties文件删除重新创建就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值