crontab中执行脚本中文乱码,手动执行没有问题的解决办法

简介:

【问题描述】

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

wKiom1ZF6ViDaDOIAAAuGzgbSik732.jpg

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

【解决办法】

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

1
2
# echo $LANG
en_US.UTF-8

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

1
export  LANG=en_US.UTF-8

【解决后】

wKioL1ZF7CSh78giAACF9rsbHDs713.jpg

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



本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1712627,如需转载请自行联系原作者

相关文章
|
Shell
设置shell脚本执行错误自动退出
设置shell脚本执行错误自动退出
799 0
|
11月前
|
Shell Android开发
crontab执行脚本报错手动执行正确
crontab执行脚本报错手动执行正确
|
12月前
|
Shell Linux
在 Shell 脚本中执行语法检查调试模式
在 Shell 脚本中执行语法检查调试模式
129 0
脚本中调用别的脚本,如何得到执行结果?
脚本中调用别的脚本,如何得到执行结果?
64 0
|
缓存 自然语言处理 关系型数据库
PHP代码的执行
先看下PHP的结构图
PHP代码的执行
|
数据安全/隐私保护
winscp自动执行脚本
我们经常使用WinSCP工具通过sftp协议上传获取文件,本文描述通过bat批量处理文件。 首先,我们打开dos命令窗口使用 cd \d :D\WinSCP 打开WinSCP安装目录 上传文件: winscp.
3046 0
|
应用服务中间件 Linux nginx