Cron Job 执行脚本乱码

大家有可能会遇到手动执行一个脚本的时候比如发带附件的email, 编码正常,但是cron job执行会乱码。

原因是cron job 执行的用户是root,所以root的encoding 可能和你登陆的user不一样。

解决这些问题有如下情况:

一,邮件文本乱码, 在脚本里加 export LANG=en_US.UTF-8

二,如果有从数据库里拉数据,加 export NLS_LANG=AMERICAN_AMERICA.UTF8

三,如果你有excel 的附件, 在脚本里面叫BOM 头如下

#add BOM hearder, then windows can understand the UTF8 encoding
printf  "\xEF\xBB\xBF" > report.csv

以上基本可以解决问题

你可能感兴趣的:(大湿的LINUX)