【問題描述】
今日編寫的腳本手動執行後發送郵件時中文字元不亂碼,後放到定時任務中後亂碼。如下圖:
<a href="http://s2.51cto.com/wyfs02/M02/75/F8/wKiom1ZF6ViDaDOIAAAuGzgbSik732.jpg" target="_blank"></a>
【産生原因】
crontab中的運作環境與使用者的shell環境不一緻,兩種環境下的字元編碼不同。
【解決辦法】
1.擷取目前系統下環境變量LANG的值,可用echo $LANG指令檢視。
1
2
<code># echo $LANG</code>
<code>en_US.UTF-8</code>
2.在腳本中聲明LANG變量,将以下内容粘到腳本最前面即可。
<code>export</code> <code>LANG=en_US.UTF-8</code>
【解決後】
<a href="http://s4.51cto.com/wyfs02/M02/75/F6/wKioL1ZF7CSh78giAACF9rsbHDs713.jpg" target="_blank"></a>
熟悉的中文又回來了。。。
本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1712627,如需轉載請自行聯系原作者