在linux下,利用定时任务执行一个脚本,把结果输出到文件中,查看文件里面有中文,发现中文是乱码。
手动执行测试中文显示就正常。
原因:因为Unix/Linux下使用crontab时的运行环境已经不是用户环境了,因此原本用户下的一些环境变量的设置就失效了。
解决方法:只需要在脚本最前面加上当前环境的lang环境即可。
具体操作:
①获取当前语言环境,在linux下输入echo $LANG,例如输出en_US.UTF-8
②在执行脚本最前面增加一行export LANG=en_US.UTF-8
注意:定时任务中的命令必须用绝的路径,不然有可能跑定时任务的时候找不到命令,出现执行不成功的问题。