cronのスクリプトからpythonのスクリプトを実行しようとしたところ、print()による日本語文字列の出力処理で、下記のエラーが発生した
UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in range(128)
手で実行すると動くので環境変数をチェックしてみると、対話的に実行した場合はLANG=ja_JP.UTF-8の指定がされていたが、cronから実行される時はLANG環境変数がセットされていなかった。
このため、pythonスクリプトの実行前に下記のコマンドを実行してLANGを設定したところ、エラーが出なくなった。
export LANG=ja_JP.UTF-8
python foo.py
こちらもおススメ