linux下crontab执行java中文乱码问题

最近在服务器上执行java文件,手动执行shell脚本没问题,中文显示正常。但是加入crontab任务之后,中文就变成乱码(?)。

网上查找各种方法后发现:这是由于加入crontab后字符集会变为linux的root环境下的字符集。

在服务器输入echo $LANG可以得到字符集为

zh_CN.GB18030
而java默认的字符集应该是UTF-8,这样就导致了中文乱码问题。

解决方法:

shell脚本执行java的时候直接指定encoding,与服务器的字符集保持一致。比如

java -Dfile.encoding=GBK -classpath "$CLASSPATH" $CLASS "$@"






你可能感兴趣的:(java)