天天看點

crontab中執行腳本中文亂碼,手動執行沒有問題的解決辦法

【問題描述】

今日編寫的腳本手動執行後發送郵件時中文字元不亂碼,後放到定時任務中後亂碼。如下圖:

<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,如需轉載請自行聯系原作者