Bestehen UTF-8 als Standard-Encoding
Habe ich versucht zu bestehen UTF-8 als default-encoding von Python.
Habe ich versucht:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
Und ich habe auch versucht:
>>> import sys
>>> reload(sys)
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('UTF8')
>>> sys.getdefaultencoding()
'UTF8'
>>>
Aber nach Schließung der Sitzung und der Eröffnung einer neuen session, das Ergebnis war wie folgt:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
Wie kann ich anhalten, meine änderungen? (Ich weiß, dass es nicht immer eine gute Idee, Sie zu ändern auf UTF-8. Es ist in einem Docker-container von Python).
Ich weiß, es ist möglich. Ich habe jemanden gesehen, der hat sich UTF-8 als seine Standardkodierung (immer).
InformationsquelleAutor DenCowboy | 2016-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte werfen Sie einen Blick in site.py Bibliothek - es ist der Ort, wo
sys.setdefaultencoding
passiert. Sie könnte, denke ich, ändern oder ersetzen Sie dieses Modul, um es dauerhaft auf Ihrem Rechner. Hier ist es den Quellcode, Kommentare erklärt etwas:Vollständige Quelle https://hg.python.org/cpython/file/2.7/Lib/site.py.
Dies ist der Ort, wo Sie löschen die
sys.setdefaultencoding
Funktion, wenn Sie wurden gefragt:InformationsquelleAutor user2622016
Ersten, ist es fast sicher eine schlechte Idee, da der code wird auf mysteriöse Weise kaputt, wenn Sie führen Sie es auf einem anderen Rechner, auf dem diese Konfiguration nicht getan wurde.
(1) Erstellen einer neuen Datei wie folgt ein (bei mir heißt
setEncoding.py
):(2) setzen Sie die Umgebungsvariable
[PYTHONSTARTUP][1]
auf diese Datei.(3) Wenn der Python-interpreter geladen ist, wird der code innerhalb der Datei, die
PYTHONSTARTUP
Punkte werden zuerst ausgeführt:InformationsquelleAutor bgporter
Können Sie immer noch an der Spitze der python-Dateien:
Wird in *nix-Systemen ändern Sie die Codierung auf utf-8 für die Datei.
Der OP ist die Arbeit mit einem terminal (das ist, warum er sagt: "schließen/öffnen sesions), nicht mit Dateien.
danke, aber ich habe nicht die Berechtigung zum ändern der Dateien.
Dieser trick nichts ändern, immer. Dekodieren von Objekten vor der Verarbeitung.
InformationsquelleAutor saltycraig