症状
エラー内容
windows 環境で python のスクリプトを作成していたら utf-8 のファイルを開こうとしたら以下のようなエラーが出ました。
UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 0: illegal multibyte sequence
コード
ファイルを開こうとした処理は以下のような感じ...
try: f = open(os.environ.get("SAMPLE_ELEMENT"), 'r') self.element = json.load(f) except: raise ExpectedError("the element json file cannot be found.")
原因
Windows環境を使用しているとデフォルトがcp932でコーディングされるようで、CP932以外のファイルを開こうとするとエラーになるようでした。
回避方法
utf-8のファイルを開く場合は「encoding="utf-8"」という記述を加えれば回避できました。
try: f = open(os.environ.get("SAMPLE_ELEMENT"), 'r', encoding="utf-8") self.element = json.load(f) except: raise ExpectedError("the element json file cannot be found.")