问题:
CentOS7下面,当更改tomcat的启动用户(从root改为tomcat)后,而且使用的是daemon模式,当系统自动启动tomcat的时候,发现系统环境变量file.encoding打印的编码为ANSI_X3.4-1968,而不是UTF-8,所以日志中出现中文乱码。
解决方案:
在tomcat/bin/daemon.sh文件中加入下面一行代码即可解决问题。
CATALINA_OPTS=-Dfile.encoding="UTF-8"
PS1:具体加入的位置,需要搜索一下文件中的CATALINA_OPTS变量,在这个变量被使用之前的位置加入就可以了。
PS2:有人遇到过,用linux系统的定时任务启动tomcat时,也遇到了编码ANSI_X3.4-1968问题,解决办法是在catalina.sh文件中加入下面一行代码即可。
CATALINA_OPTS=-Dfile.encoding="UTF-8"