UnicodeEncodeError: ‘cp932’ codec can’t encode character エラー対応

Pythonでスクレイピングをしたhtmlデータをローカルに保存する際に以下のエラーが発生した時の対処法。

UnicodeEncodeError: ‘cp932’ codec can’t encode character ‘\xa9’ in position 42041: illegal multibyte sequence

原因はPCがwindowsであり、cp932とは、マイクロソフトがShift_JISを独自に拡張した文字コード。上記エラーは次のコードを指していた。

f.write(dl.text)

原因を突き詰めると、ファイルを開く際に、UTF-8 でエンコードでの記述設定をする必要があり以下の通り、encoding=”utf-8_sig”を付け足すことで解決が可能(一例)

f = open(filename, mode=”w”, encoding=”utf-8_sig”)

About TIER

TIERは、Global、DX、HRの3軸により 大手企業から中小企業、民間企業から行政まで、海外展開に必要なサービスをワンストップで支援しております。海外マーケティングセールスからデジタルマーケティング、多言語サイトや越境ECサイト制作等の海外向けクリエイティブ制作、グローバル人材採用支援まで幅広く対応しております。お気軽にお問い合わせください。

Check Also

python

Pythonメモ:while文のサンプルコード

繰り返し処理はfor文と今回の …