【问题描述】

今日编写的脚本手动执行后发送邮件时中文字符不乱码,后放到定时任务中后乱码。如下图:

【产生原因】

crontab中的运行环境与用户的shell环境不一致,两种环境下的字符编码不同。

【解决办法】

1.获取当前系统下环境变量LANG的值,可用echo $LANG命令查看。

# echo $LANGen_US.UTF-8

2.在脚本中声明LANG变量,将以下内容粘到脚本最前面即可。

export LANG=en_US.UTF-8

【解决后】

熟悉的中文又回来了。。。