Encoding-Probleme unter Windows (cp1252, utf-8, usw.)
Verfasst: Montag 9. November 2009, 20:36
Hallo zusammen,
ich beschäftige mich erst seit wenigen Tagen mit Python und habe deswegen noch wenig Ahnung von der Materie. habt deswegen etwas Nachsicht mit mir.
Ich verwende Python unter Windows XP (32-bit), genauso wie die shell ipython.
Beim Einstieg in die Materie ist mir aufgefallen, dass UTF-8-kodierte scripts weder in der IDLE noch in ipython richtig ausgegeben werden (genauer geasagt die Sonderzeichen, also nicht-ASCII-Elemente). Nach drei Tagen googlen habe ich mittlerweile herausgefunden, dass die jeweiligen shells cp1252-kodiert (IDLE) bzw. cp*irgendwas*-kodiert (ipython) sind. Anscheinend kann man das auch nicht ändern, zumindest habe ich nichts gefunden.
Die Lösung des Problems ist es wohl nun einfach die scripts cp1252-kodiert zu schreiben. In der IDLE funktioniert das auch prächtig, in ipython ist das etwas komplizierter, da in der Eingabeaufforderung in Windows cp850 standardmäßig eingestellt ist. Jedenfalls habe ich es aber letztendlich hingekriegt, ipython auf cp1252 umzustellen.
Da ich nirgendwo im Netz eine gute Erklärung der Problematik gefunden habe, habe ich eine pdf-Datei erstellt, die die von mir gefundene Lösung beschreibt. Man kann sie finden unter http://www.markz.de/windowsencodingproblem.pdf
Da ich ein Anfänger bin, ist das Dokument natürlich für Anfänger gedacht. Für euch sind das wahrscheinlich alles olle Kamellen, aber ich dachte für Anfänger könnte das ganz hilfreich sein.
Über Feedback wäre ich natürlich dankbar, da ich, wie gesagt, wenig Ahnung von dem ganzen habe.
Viele Grüße
Markus
P.S.: Da ich absolut keinen Plan von Linux oder Unix habe: Unter Linux oder Unix werden UTF-8-kodierte scripts "ordnungsgemäß ausgegeben", richtig?
ich beschäftige mich erst seit wenigen Tagen mit Python und habe deswegen noch wenig Ahnung von der Materie. habt deswegen etwas Nachsicht mit mir.
Ich verwende Python unter Windows XP (32-bit), genauso wie die shell ipython.
Beim Einstieg in die Materie ist mir aufgefallen, dass UTF-8-kodierte scripts weder in der IDLE noch in ipython richtig ausgegeben werden (genauer geasagt die Sonderzeichen, also nicht-ASCII-Elemente). Nach drei Tagen googlen habe ich mittlerweile herausgefunden, dass die jeweiligen shells cp1252-kodiert (IDLE) bzw. cp*irgendwas*-kodiert (ipython) sind. Anscheinend kann man das auch nicht ändern, zumindest habe ich nichts gefunden.
Die Lösung des Problems ist es wohl nun einfach die scripts cp1252-kodiert zu schreiben. In der IDLE funktioniert das auch prächtig, in ipython ist das etwas komplizierter, da in der Eingabeaufforderung in Windows cp850 standardmäßig eingestellt ist. Jedenfalls habe ich es aber letztendlich hingekriegt, ipython auf cp1252 umzustellen.
Da ich nirgendwo im Netz eine gute Erklärung der Problematik gefunden habe, habe ich eine pdf-Datei erstellt, die die von mir gefundene Lösung beschreibt. Man kann sie finden unter http://www.markz.de/windowsencodingproblem.pdf
Da ich ein Anfänger bin, ist das Dokument natürlich für Anfänger gedacht. Für euch sind das wahrscheinlich alles olle Kamellen, aber ich dachte für Anfänger könnte das ganz hilfreich sein.
Über Feedback wäre ich natürlich dankbar, da ich, wie gesagt, wenig Ahnung von dem ganzen habe.
Viele Grüße
Markus
P.S.: Da ich absolut keinen Plan von Linux oder Unix habe: Unter Linux oder Unix werden UTF-8-kodierte scripts "ordnungsgemäß ausgegeben", richtig?