Beitragvon Gast » Montag 13. Juni 2005, 08:52
Das hatte ich auch schon heraus gefunden. Man kann eine Datei als utf-16 usw. öffnen. Mit folgendem Code
import codecs
fileObj = codecs.open( "someFile", "r", "utf-8")
oder auch
xml.dom.ext.Prettyprint(newdocp,codecs.open(outputFile, "w", "utf-16" ))
Dann steht aber immer noch z.B. im DOM Baum, das die Datei in utf-8 gespeichert wurde. Außerdem werden dann in der Datei nach jedem Buchstaben diverse Leerzeichen eingefügt. Dadurch ist die XML Datei ja Zerstört.
Das sieht dann so aus:
ÿþ< ? x m l v e r s i o n = ' 1 . 0 ' e n c o d i n g = ' U T F - 8 ' ? > < t e s t > ...
Kann man nicht zB beim createDocument sagen das es eine utf-8 Datei ist? Außerdem habe ich beim SAX Parsen das Problem, das vor jedem String, den ich in die Datei schreibe der BOM hinzugefügt wird.
fdout.write(escape(test).encode("utf-16"))
Das ist ja auch nicht XML Konform und zerstört die XML Datei.
Ich bin verwirrt