Python 3 プログラムで、情報で満たされたテキスト ファイルに対して何らかの操作を実行しようとしています。しかし、ファイルを読み込もうとすると、次のエラーが発生します。
Traceback (most recent call last):
File "SCRIPT LOCATION", line NUMBER, in <module>
text = file.read()
File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`
このQ&Aを読んだ後、テキストのエンコーディングを決定する方法開こうとしているファイルのエンコードを確認する際にサポートが必要な場合。
ベストアンサー1
問題のファイルは CP1252 エンコーディングを使用していません。別のエンコーディングを使用しています。どれを使用するかは自分で判断する必要があります。一般的なのは Latin-1 と UTF-8 です。0x90 は Latin-1 では実際には何の意味も持たないため、UTF-8 (0x90 は継続バイト) である可能性が高くなります。
ファイルを開くときにエンコードを指定します。
file = open(filename, encoding="utf8")