[python3]文字の出力時にエラー UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in range(128)

カテゴリ: python | タグ:

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
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。