Ich habe eine Datei input.txt, die nur eine Zeile enthält: "obra 鑾 n". Wie ich dieses Kanji bekommen habe, ist a separate problem, das ich hier nicht ansprechen möchte, hier möchte ich einfach den Inhalt dieser Datei auf der Kommandozeile mit Python 3 unter Windows drucken (ich habe dieses Problem nicht unter Linux).beheben UnicodeEncodeError: 'Charmap' Codec kann nicht Zeichen in Python3
Ich habe dieses Thema seit einer Stunde gegooglet und habe meinen Verstand verloren, ohne die Lösung herauszufinden. Hier ist, wie weit ich habe:
# -*- coding: utf-8 -*-
f = open("input.txt", encoding='utf8')
s = f.read()
print(type(s))
#print(s) #error
b = s.encode('utf-8')
print(type(b))
print(b)
#print(b.decode("utf-8")) #error
#print(b.decode('unicode_escape')) #error
Der Ausgang dieses Codes ist:
<class 'str'>
<class 'bytes'>
b'obra\xe9\x91\xben\n'
Fehler beim ersten beiden Zeilen kommentiert ist identisch:
UnicodeEncodeError: 'charmap' codec can't encode character '\u947e' in position 4: character maps to <undefined>
Fehler auf der letzten Kommentarzeile ist:
UnicodeEncodeError: 'charmap' codec can't encode character in position 5-6: character maps to <undefined>
Ich habe jetzt unsere Ideen, was zu tun ist. Haben Sie Ideen, wie Sie den Inhalt dieser Datei in der Windows-Befehlszeile mit Python 3 drucken können?
Danke.
Kann dies durch die Installation eine andere Windows-Konsole oder wird jede Konsole dieses Problem haben, wenn Schriftarten installiert sind nicht festgelegt werden? – dijxtra
@dijxtra, Sie können eine Python-IDE verwenden. Die Konsole ist nur auf eine kleine Anzahl fester Schriften beschränkt. IDLE kommt mit Python, aber es gibt viele andere. –