项目在本地运行的时候,指定的文件编码都是utf-8的,编码一致自然就没有出现中文乱码的情况。当项目部署到linux上运行后,需要查看打印的日志文件的内容时,我们需要借助xshell、或者mobaexterm等远程SSH软件时,这些软件的控制台显示打印的中文内容时就会出现乱码。以xshell为例:
1、设置xshell编码:为GBK
2、切换控制台编码:
3、设置linux服务器编码:
vi /etc/profile ,在文件末尾加上:export LANG=zh_CN.gbk
4、设置tomcat编码:
进入/bin文件夹,编辑catalina.sh,在图中位置加入以下代码:
JAVA_OPTS="-Dfile.encoding=GBK -Dsun.jnu.encoding=GBK"
5、重启tomcat,查看日志文件:
tail -500f catalina.out
完美显示中文。
我的问题出现在第4步,因为println方法跟tomcat的环境相关。