Linux 定时脚本crontab 中文乱码 编码格式转换

在linux下,利用定时脚本跑一个xx.jar,把结果输出到文件中。结果里面有中文,输出到文件后,显示为乱码。测试的时候发现,手动运行jar输出正常;用shell脚本运行输出正常;当使用定时脚本去跑的时候,输出就是乱码了。

原因:因为Unix/Linux下使用crontab时的运行环境已经不是用户环境了,因此原本用户下的一些环境变量的设置就失效了。

解决方法:只需要在脚本最前面加上当前环境的lang环境即可。

具体操作:

①获取当前语言环境,在linux下输入echo $LANG,例如输出en_US.UTF-8

②在脚本最前面增加一行export LANG=en_US.UTF-8 

如果还是不行的话,

就在要执行的脚本前面加上了 .  /etc/profile 解决了

原文地址:https://www.cnblogs.com/dancesir/p/14095913.html