0

エンコードが次のように設定されていると、中国語の文字を含むファイルを開くことができませんutf-8:

text = open('file.txt', mode='r', encoding='utf-8').read()
print(text)

UnicodeEncodeError: 'charmap' codec can't encode character '\u70e6' in position 0: character maps to <undefined>

ファイルは 100% utf-8 です。
http://asdfasd.net/423/file.txt
http://asdfasd.net/423/test.py
すべて 削除encoding='utf-8'しても問題ありません。

ここでエンコーディングの何が問題になっていますか?
私はいつもencoding='utf-8'ファイルを開くときに使用しますが、今何が起こったのかわかりません。

4

1 に答える 1

1

表示される例外は、データの印刷から発生します。印刷するには、端末または Windows コンソールで使用されるエンコードにデータをエンコードする必要があります。

これは、例外 (およびトレースバックから確認できますが、それを含めていません) から確認できます。データのデコードに問題がある場合 (これは、ファイルから読み取るときに発生します) UnicodeDecodeError、代わりに を取得しUnicodeEncodeErrorます。

端末またはコンソールのエンコーディングを調整するか、データを印刷しない必要があります

トラブルシューティングのヘルプについては、 http://wiki.python.org/moin/PrintFailsを参照してください。

于 2013-06-04T20:25:44.197 に答える