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

本文介绍了一个常见的crontab定时任务中邮件发送出现乱码的问题及其解决方法。通过设置环境变量LANG为en_US.UTF-8,确保了定时任务与手动执行时的字符编码一致,从而解决了中文乱码问题。

【问题描述】

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

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,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值