2016-04-12 2 views
0

Ich versuche, eine Datei zu öffnen, die Datei zu lesen und auszudrucken. Gut, das sollte einfach sein und so aussehen:Python - UnicodeEncodeError Fix?

file = open("Testfile.txt", "r") 
string = file.read() 
print(string) 
file.close() 

So, jetzt möchte ich eine Datei öffnen, einschließlich Unicode charcters, über den 255 Zeichen gehen, die mit ‚charmap‘ codiert werden kann, wie ich es richtig verstanden.

Was nun passiert ist, dass der Fehler "UnicodeEncodeError" ausgelöst wird und mein Programm abstürzt.

Meine Frage: Was muss ich tun, um die UniCode-Zeichen korrekt zu drucken und zu lesen, ohne einen Fehler zu erzeugen?

Thx für die Hilfe

Hinweis: Ich möchte nicht Dinge wie \ U000800 oder \ x80 bekommen, weil ich nichts mit ihnen tun. Ich brauche die Zeichen, wie Sie sie aus der Unicode-Tabelle auswählen können.

Edit: Mit Windows 7, und auch wenn ich der Ausgabe versuchen, es in eine Datei, der Fehler auftritt:/

+0

Wenn Sie 'print' aufrufen, muss Python den String für Ihr aktuelles Terminal codieren, von wo der Fehler kommt. Wenn Sie nur in eine Datei ausgeben müssen, tritt der Fehler nicht auf. Wenn Sie jedoch eine Terminalausgabe benötigen, hängt die Antwort stark davon ab, welches Terminal/Betriebssystem Sie verwenden. Sie müssen dies also erwähnen. –

+0

Es gibt nur ungefähr tausend "UnicodeEncodeError" Fragen auf dieser Seite - versuchen Sie zuerst einige von ihnen zu durchsuchen. – MattDMo

+0

@MattDMo Ich weiß, dass es viele Fragen zu diesem Fehler gibt, aber ich habe fast jeden gesehen, den ich finden konnte und niemand hilft mir, also ist der Grund, warum ich frage :) – freedome97

Antwort

0

Wenn Sie die Kommandozeile (cmd.exe) verwenden, sind Sie nicht in der Lage Druck Unicode-Zeichen.

Verwenden Sie IDLE, die mit Python geliefert wird, um den Code auszuführen. Es ermöglicht das Drucken von Unicode zusammen mit dem Tippen und anderen Dingen.

+0

Nein, ich benutze den cmd nicht ?! – freedome97

+0

Und nein, ich kann es nicht mit Python drucken. Das ist das Problem! ._. – freedome97