drucken von UTF-8 in Python 3 mit Sublime Text 3

Habe ich dieses Python ist3 code zu Lesen versuchen und drucken von einer utf-8-codierte Datei:

f = open('mybook.txt', encoding='utf-8')
for line in f:
    print(line)

Wenn ich bauen mit Sublime Text 3 bekomme ich folgende Fehlermeldung:

UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 18: ordinal not in range(128)

Jedoch, es funktioniert die Datei wenn ich Sie nur ausführen meines Codes im terminal mit Python ist3.

Meine build-Konfiguration ist

{
"cmd": ["/usr/local/bin/python3", "$file"]
, "selector": "source.python"
, "file_regex": "file \"(...*?)\", line ([0-9]+)"
}

Wenn ich es zu ändern:

f = open('mybook.txt', encoding='utf-8')
for line in f:
    print(line.encode('utf-8'))

Dann druckt das utf-8-kodierte byte-Folge (ich glaube, das ist, was passiert).

b'Hello\n'
b'\xc2\xab\xe2\x80\xa2\n'
b'Goodbye'

Aber ich weiß auch nicht, wie man von diesem zu drucken, die unicode-Zeichen auf dem Bildschirm...

Auch, wenn ich versuche diese env-variable als pro Ein python-Programm nicht ausgeführt werden kann, in sublime text 3, aber der Erfolg in der bash es immer noch nicht beheben.

Versuchen print(line.decode())
Wie es scheint, SublimeText Ausgabe-Gerät nur mit ASCII... check SublimeText Optionen, um zu sehen, ob du etwas tun kannst, die.
Dekodieren ist nicht eine Methode in string. Ich habe aktualisiert, oben mit ein bisschen info.
Ich glaube immer noch, das ist eine Sublime Text problem: es sagt dem python-interpreter zu verwenden, ASCII, um die Ausgabe anzuzeigen. Um dieses problem zu lösen sollten Sie die Konfigurationen für SublimeText terminal und wählen Sie die Codierung, oder richtig den Umgebungsvariablen.
Das denke ich auch - nur noch nicht in der Lage, es zu finden, aber ich bin der Hoffnung, es gibt einige sublime text ninjas herum 🙂

InformationsquelleAutor allstar | 2016-09-19

Schreibe einen Kommentar