🐍

【Python】ファイル内でUTF8の日本語を扱う際に'cp932'のillegal multibyteがでる問題の対策

2023/11/14に公開

概要

下記のようなエラーが発生する

UnicodeDecodeError: 'cp932' codec can't decode byte 0x93 in position 282: illegal multibyte sequence

これはWindowsでUTF8のエンコードファイル内に日本語がある場合、Win側がShift-JIS (CP932)としてファイルを取り扱うためエラーが起きる。

ここでは、大本のソースコードを編集せずに修正する方法を記載する。

関連資料

作業詳細

  1. ~/.bashrc等に下記の環境変数 export PYTHONUTF8=1 を定義する
  2. source ~/.bashrcを実施し環境変数を読み込む
  3. エラーとなったファイルを python <マルチバイトエラーのファイル名>.py で実行してエラーが発生しないか確認する

Discussion