1. 程式人生 > >Linux 定時指令碼crontab 中文亂碼 編碼格式轉換

Linux 定時指令碼crontab 中文亂碼 編碼格式轉換

  在linux下,利用定時指令碼跑一個xx.jar,把結果輸出到檔案中。結果裡面有中文,輸出到檔案後,顯示為亂碼。測試的時候發現,手動執行jar輸出正常;用shell指令碼執行輸出正常;當使用定時指令碼去跑的時候,輸出就是亂碼了。

原因:因為Unix/Linux下使用crontab時的執行環境已經不是使用者環境了,因此原本使用者下的一些環境變數的設定就失效了。

解決方法:只需要在指令碼最前面加上當前環境的lang環境即可。

具體操作:

①獲取當前語言環境,在linux下輸入echo $LANG,例如輸出en_US.UTF-8

②在指令碼最前面增加一行export LANG=en_US.UTF-8