发布于 2015-11-14 15:23:58 | 727 次阅读 | 评论: 1 | 来源: PHPERZ
Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。
【问题描述】
今日编写的脚本手动执行后发送邮件时中文字符不乱码,后放到定时任务中后乱码。如下图:
【产生原因】
crontab中的运行环境与用户的shell环境不一致,两种环境下的字符编码不同。
【解决办法】
1.获取当前系统下环境变量LANG的值,可用echo $LANG命令查看。
# echo $LANG en_US.UTF-8
2.在脚本中声明LANG变量,将以下内容粘到脚本最前面即可。
export LANG=en_US.UTF-8
【解决后】
熟悉的中文又回来了。。。