Geben Sie die Codierung der Unicode-Zeichenfolge in der Python 2.x-Druckanweisung an

Die Python 2.x-Druckanweisung konvertiert implizit den Unicode-Typ in den str-Typ und gibt dann die Standardausgabe aus. Die Codierung für die Konvertierung in Unicode-> str wird durch locale.getpreferredencoding () bestimmt.

Ausprobieren

↓ Wenn ich versuche, Python vom Terminal auf dem Mac auszuführen.

>>> import locale
>>> locale.getpreferredencoding()
'UTF-8'

>>> print u'ah ah'
ah ah

↓ Wenn ich versuche, Python über die Eingabeaufforderung von Windows 7 auszuführen.

>>> import locale
>>> locale.getpreferredencoding()
'cp932'

>>> print u'ah ah'
ah ah

↓ Wenn ich versuche, Python über die PyDev-Konsole von Eclipse auszuführen.

>>> import locale
>>> locale.getpreferredencoding()
'US-ASCII'

>>> print u'ah ah'
Traceback (most recent call last):
  File "<input>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

Da es sich in einer speziellen Umgebung um ASCII handelt, führt "u'ah" zu einem "UnicodeEncodeError" -Fehler.

Ich möchte, dass Sie mit der angegebenen Codierung konvertieren

Wenn Sie es wagen, die Codierung anzugeben, können Sie dies mit der folgenden Methode tun.

>>> import sys, codecs
>>> sys.stdout = codecs.getwriter('utf-8')(sys.stdout)

>>> print u'ah ah'
ah ah

Vermeiden Sie Fehler

Es ist sehr wahrscheinlich, dass Sie den Fehler verstecken ...

_ENC_LOCALE = locale.getpreferredencoding()
sys.stdout = codecs.getwriter(_ENC_LOCALE)(sys.stdout, errors='replace')
sys.stderr = codecs.getwriter(_ENC_LOCALE)(sys.stderr, errors='replace')

Recommended Posts

Geben Sie die Codierung der Unicode-Zeichenfolge in der Python 2.x-Druckanweisung an
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
[Einführung in Python] So geben Sie eine Zeichenfolge in einer Print-Anweisung aus
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Überprüfen Sie das Verhalten des Zerstörers in Python
Das Ergebnis der Installation von Python auf Anaconda
Grundlagen zum Ausführen von NoxPlayer in Python
Auf der Suche nach dem schnellsten FizzBuzz in Python
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
[Einführung in Python] Eine ausführliche Erklärung der in Python verwendeten Zeichenkettentypen!
Geben Sie die Anzahl der CPU-Kerne in Python aus
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Holen Sie sich den Aufrufer einer Funktion in Python
Passen Sie die Verteilung jeder Gruppe in Python an
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an
Kopieren Sie die Liste in Python
Ruft den Fenstertitel des X-Fenstersystems in Python ab
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
Finden Sie die Lösung der Gleichung n-ter Ordnung mit Python
[Python numpy] Geben Sie den Index des Arrays dynamisch an
Die Geschichte des Lesens von HSPICE-Daten in Python
[Hinweis] Über die Rolle des Unterstrichs "_" in Python
Lösen von Bewegungsgleichungen in Python (odeint)
Ausgabe in Form eines Python-Arrays
json.dumping Keine in Python gibt die Zeichenfolge null zurück
Verarbeitung (Python) Diagramm der Koordinaten der Liste Geben Sie an, wie oft in draw ()
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Teilt die Zeichenfolge durch die angegebene Anzahl von Zeichen. In Ruby und Python.
Holen Sie sich das letzte Element des Arrays, indem Sie Zeichenfolgen in Python und PHP aufteilen
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
Laden Sie Dateien herunter, während Sie den Fortschritt in Python 3.x anzeigen
Erleben Sie die gute Berechnungseffizienz der Vektorisierung in Python
Geben Sie das Beleuchtungsmodell für SCN-Material in Pythonista an
Zu dem Problem, dass der Inhalt von Python print in Docker-Protokollen nicht sichtbar ist
So ermitteln Sie die Anzahl der Stellen in Python
String-Manipulation in Python
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
Speichern Sie Japanisch (Multibyte-Zeichenfolge) in sqlite3 von Python
[Python] Ruft die Liste der im Modul definierten Klassen ab
[Python] Ändern Sie die Textfarbe und Hintergrundfarbe eines bestimmten Schlüsselworts in der Druckausgabe
der Zen von Python
Die Geschichte von FileNotFound im Python open () -Modus = 'w'
Lernen Sie das Entwurfsmuster "Chain of Responsibility" in Python
Implementieren Sie die Lösung der Riccati-Algebra in Python
[Golang] Geben Sie ein Array für den Wert der Karte an
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Den Inhalt der Daten in Python nicht kennen
Verschieben Sie die Alphabetzeichenfolge in Python um N Zeichen
Reproduzieren Sie das Ausführungsbeispiel von Kapitel 4 von Hajipata in Python
Verwenden wir die offenen Daten von "Mamebus" in Python
Implementierte den Algorithmus von "Algorithm Picture Book" in Python3 (Heap Sort Edition)
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Kodierung des Urteils in Python
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Reproduzieren Sie das Ausführungsbeispiel von Kapitel 5 von Hajipata in Python
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Überprüfen Sie die atrophische Natur der Wahrscheinlichkeitsverteilung in Python
Ich habe versucht, die String-Operationen von Python zusammenzufassen