Anzeigen von Unicode in Windows

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gerenuk
User
Beiträge: 69
Registriert: Donnerstag 21. Januar 2010, 22:27

Ich nutze Python3 mit Eclipse auf Windows und obwohl ich alles mögliche auf UTF8 umgestellt habe, kommen Unicodefehler wenn ich komplizierte Zeichen in der Eclipse Console darstelle (die intern natürlich Unicode sind). Deswegen habe ich s.encode("cp1252","replace") an allen Ausgabestellen versucht. Nur schreibt der jetzt immer b'...' drumrum.

Was wäre des beste Weg auf Windows-Consolen sicherzustellen, dass er nicht bei Anzeigeproblemen abbricht?
Und wo würde ich das encode unterbringen? Und wie bekomme ich das B in b'...' weg?
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Ja, da machst du wohl irgendwas falsch. Ohne Beispiel kann ich dir aber auch nicht helfen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

b'..' ist die `repr` Form eines bytes Objekts, also das Ergebnis von `encode`.

Meine Kristallkugel raet zu `print`
Gerenuk
User
Beiträge: 69
Registriert: Donnerstag 21. Januar 2010, 22:27

Zum Beispiel passiert folgendes in der PyDev/Eclipse Console:

>>> print("a".encode("cp1252"))
b'a'

Ein str(...) drumrum ändert auch nicht.

@Darii:
Sehr schlaue Feststellung, dass ich wohl was falsch mache. Und außerdem ein denkbar taktvoller Einstieg.
lunar

"sys.stdout.buffer.write('a'.encode( 'cp1252'))"
Gerenuk
User
Beiträge: 69
Registriert: Donnerstag 21. Januar 2010, 22:27

Sehr seltsam. Da kommt jetzt:

>>> sys.stdout.buffer.write('a'.encode( 'cp1252'))
a1
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Die 1 ist wohl der Rückgabewert von ``write``.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Mit "Windows-Consolen" hat das Ganze allerdings nichts zu tun. Führe mal deinen Code außerhalb von Eclipse aus.
Antworten