开发了个jar包,往服务器上部署,结果日志里中文都变成了问号:
com.xxx.xxx.client.exception.BizException: ?????
2021-04-25 05:17:31.616 ERROR 58110 --- [http-nio-8080-exec-5] c.x.x.i.common.config.WebMvcConfig : ?????
com.xxx.xxx.client.exception.BizException: ?????
问题定位
绝对是编码问题。我原先的配置如下:
[root@localhost ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8
问题解决
参考网上能搜到的方案无果,求助大佬:
将/etc/locale.conf中的LANG改为en_US.UTF-8 后,重启jar包,问题完美解决。
乱码为问号时可以将LANG的值修改掉然后重启应用,zh_CN.UTF-8, UTF-8, en_US.UTF-8都设置一下试试