Fehler mit Umlauten und dem Umlenkung in eine Datei (Linux)

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.
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 7. November 2004, 21:55

jo dann ists unicode mit den zwei Bytes. Womit wurde denn die xml-datei erstellt bzw. wo ist die her?

Code: Alles auswählen

#!/usr/bin/env python
import this
Gast

Beitragvon Gast » Montag 8. November 2004, 10:19

Mit dem Texteditor Kate. Gespeichert als utf-8.

Nur, wieso bricht er mit einem Fehler ab?
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Montag 8. November 2004, 14:07

Da musst die Pythonentwickler fragen, beim Umwandeln mit str.encode() bzw str.decode() kann man mit einem zusätzlichen Argument bestimmen, was bei unumwandelbaren Zeichen geschehen soll:

Code: Alles auswählen

>>> "\xf6".decode("latin-1").encode("ascii", "xmlcharrefreplace")
Out[15]: 'ö'


Standartmässig steht das auf "strict" und bedeutet, daß eben eine Exception geworfen wird.


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
Gast

Beitragvon Gast » Montag 8. November 2004, 23:23

Hallo nochmal

folgender Thread hat mir geholfen:
http://python.sandtner.org/viewtopic.ph ... 47381b9db1

Ich habe nun folgende Zeile hinzugefügt:
[code]
temp=open(file,"r",encoding="utf-8").read()
...
top=xml.dom.minidom.parseString(str(temp.encode("utf-8")))
[/quote]
Nun klappts auch :)

Danke noch einmal an alle!

Ciao,
Gast

PS: Ich sollte mich mal registrieren ...

Wer ist online?

Mitglieder in diesem Forum: brainstir