'cp932' codec can't encode character '\xa9' in position 3337: illegal multibyte sequence
Windowsで、Pythonを動かすとよく見る例外。Linuxだと見ない。
エンコード・デコードの深みを調査する前に、これを確認すること。
自分への備忘録。
スタックトレースの該当行では、普通の出力処理。
print(some_text)
そのまま出力すると、例外にならないが、
python some_script.py
出力をリダイレクトすると、例外になる
python some_script.py > result.txt
手軽なリダイレクトはやめて、
面倒だが、正当なファイル書き込みのオープンを使い、
エンコーディングを指定することで改善。
with open(outputfilename, 'w', encoding='utf-8') as fout:
つまり、コマンドライン実行でのリダイレクトの例外の原因は、
エンコーディングの指定ができなかったことと思われる。