[Python-de] win32net-resonse won' t properly appear on screen (Unicode-problem)?

Martin v. Loewis martin at v.loewis.de
Thu Oct 25 22:26:45 EDT 2001


> hmmm, da probiere ich rum um eine anstaendige Fehlermeldung zu
> produzieren und stelle fest, dass in einem Windows-Editor alle Um-
> laute richtig  dargestellt werden. Halt nur nicht in der NT-Shell, wo
> ich meine Programme zu debuggen pflege ;-( - hat jemand eine
> Ahnung warum? In der Shell steht nur ASCII zur verfügung???

Der Editor (notepad) erkennt m.W. automatisch, dass die Datei in UTF-8
vorliegt. Wenn da ein Zeichen angezeigt wird, können durchaus zwei
(oder mehr) Bytes im File stehen.

> Naja, wie auch immer. Sowohl NormalString() (konvertiert
> nach latin-1) als auch DebugString() (konvertiert nach UTF-8)
> aus unterem Code-Beispiel funktionieren unter dem GUI von
> Windows. Gibt es eine sinnvollere Methode meine Fehler-
> meldung zu umgehen?

Unter Windows sollte die Konvertierung nach "mbcs" immer die richtige
Kodierung (entsprechend der Windows-Version, Nutzer-Einstellung,
u.s.w.) zur Verwendung in einer Konsole liefern.

Bei einem Windowsprogramm ist die beste Lösung aber i.d.R. sowieso,
ein Fenster aufzumachen (MessageBox); das Programm hat u.U. gar keine
Konsole, um Ausgaben darauf zu schreiben... Wenn es unter NT/W2k/XP
"im Hintergrund" läuft, dann sollten Fehler am besten ins event log.

Ciao,
Martin



More information about the Python-de mailing list