ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

【対処方法】'cp932' codec can't encode character '\ufeff' in position X: illegal multibyte sequence

良く遭遇したエラーなので備忘録。

UnicodeEncodeError: 'cp932' codec can't encode character '\ufeff' in position 0: illegal multibyte sequence

Window環境でファイルから読み込んだBOM(バイト・オーダー・マーク)付きの文字列を標準出力する時などに発生する。

対処方法として、codecs.openの引数に'utf-8-sig'を指定して読み込む。
例)

import codecs
codecs.open(path,"r",'utf-8-sig')

MicrosoftのソフトではUTF-8ファイルを扱う際にBOMを入れる事が多いらしい。