windowsでpythonでエンコードエラーUnicodeDecodeError

UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x86

ビル・ゲイツ的エラーの理由
(NECとIBMも自己中過ぎるぞ)

Windows環境でファイル入出力や標準出力を行う際、python標準のunicodeのutf-8からCP932へ変換しなければならないケースではUnicode –> CP932
への変換処理が走る。

CP932がやばい、shift-jisと思っているものがwindowsではCP932という亜種だということらし。

これじゃ UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x86

というエラー文を見てもチンポンカンポンですわ。

対応

with open(file_name, “r”,encoding=”utf-8_sig”) :

utf-8_sigにエンコードしつつファイルをオープンする

sigって何?signatureか、サインとか記号という意味の?

まあ、今回は動いた。忘れた頃にまた出て、それが又微妙に違う原因で半日潰すことだろう。

だから悪口を言いたくなるのだビルゲイツ君、悪いな。

プログラミング、毎回思うのですが、エラーだと警告して動作を止めるなら、全部わかってらっしゃるんですよね。うまくやってくれて同時に、詳細な警告文を出してくれれば良いんじゃん。と、windowsしか使わない私はそう思います。

unics勢とマック軍団が顔を見合わせて、「それは困るよ、だからなー、ゲイツは臭い」