crontab執行python腳本中文亂碼問題

在使用crontab執行python腳本時中文亂碼,手動執行沒有問題

*/8 * * * * /usr/bin/python /root/xxxx/aaaa.py data > /root/xxxx/train.log 2>&1

產生原因:

這是因爲Unix/Linux下使用crontab時的運行環境已經不是用戶環境了,因此原本用戶下的一些環境變量的設置就失效了。例如原來用戶環境變量設置的是GB2312,但是使用crontab運行時的環境變量就可能是ISO8859-1。

解決方法:
1. 首先執行命令echo $LANG,假設輸出是zh_CN.UTF-8
2. 然後在crontab -e裏首行加入LANG=zh_CN.UTF-8

LANG=zh_CN.UTF-8
*/8 * * * * /usr/bin/python /root/xxxx/aaaa.py data > /root/xxxx/train.log 2>&1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章