Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Umlaute beim Speichern von XML- Datei

38 views
Skip to first unread message

Christian Ballerstaller

unread,
Jul 9, 2001, 4:54:29 AM7/9/01
to
Hallo beisammen,


ich habe beim Speichern eines DOMs in eine XML- Datei das Problem, daß Umlaute
nicht korrekt gespeichert werden. Das heißt, sie werden in der gespeicherten
Datei nicht angezeigt, und der Text wird verunstaltet.


Ich speichere die XML- Datei folgendermaßen ab:


OutputFormat format = new OutputFormat (DocumentToSave);
format.setPreserveSpace (true);


try
{
Writer wr = new BufferedWriter(new FileWriter(DateiName));


XMLSerializer ser = new XMLSerializer (wr, format);
ser.serialize (DocumentToSave);
wr.write ('\n');
wr.close ();
}


catch (java.io.IOException ioe)
{
}


DocumentToSave ist vom Typ Document.
Als Encoding ist in der XML + DTD UTF-8 angegeben.


Kann ich dem Programm (bzw. Serializer) angeben, welches Encoding er hernehmen
soll? In der gespeicherten XML- Datei steht allerdings auch UTF-8.


Danke,


Christian
--
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de

Alfred Mueller

unread,
Jul 9, 2001, 5:31:11 AM7/9/01
to

"Christian Ballerstaller" <Chris...@web.de> schrieb im Newsbeitrag
news:3b497145$1...@netnews.web.de...

> ich habe beim Speichern eines DOMs in eine XML- Datei das Problem, daß
Umlaute
> nicht korrekt gespeichert werden. Das heißt, sie werden in der
gespeicherten
> Datei nicht angezeigt, und der Text wird verunstaltet.

> Als Encoding ist in der XML + DTD UTF-8 angegeben.
> Kann ich dem Programm (bzw. Serializer) angeben, welches Encoding er
hernehmen
> soll? In der gespeicherten XML- Datei steht allerdings auch UTF-8.

Du MUSST "ISO8859 irgendwas" bei "encoding" angeben, damit die Umlaute
korrekt gespeichert werden.
Die genaue Bezeichnung hab ich nicht, such mal einfach bei google danach.


Sven Krämer

unread,
Jul 9, 2001, 5:37:57 AM7/9/01
to
Hi,

<?xml version="1.0" encoding="ISO-8859-1" ?>

ist gemeint.

Gruss

Sven


Christian Ballerstaller

unread,
Jul 9, 2001, 6:00:46 AM7/9/01
to
Hallo,


das funktioniert auch nicht. Java speichert die Datei automatisch im UTF-8
Encoding (<?xml version="1.0" encoding="UTF-8"?> steht in der XML- File). Man muß
wohl beim Speichern das Encoding mit angeben können!

--

Christian Ballerstaller

unread,
Jul 9, 2001, 6:40:44 AM7/9/01
to
Ich hab das mit dem Encoding hinbekommen. Dem OutputFormat kann man das Encoding
mitgeben. Das Problem ist aber nicht gelöst. In UTF-16 sind doch auch deutsche
Sonderzeichen enthalten. Wenn ich die XML- Datei nun als UTF-16 speichern will,
verhunzt er meine Datei. XML Spy sagt mir beispielsweise, daß UTF-16 dem
aktuellen Encoding nicht entspricht. Die Sonderzeichen werden nicht dargestellt.
Darf ich bei UTF-16 Encoding keine Umlaute in die XML Datei schreiben?

Markus Blatt

unread,
Jul 9, 2001, 1:28:33 PM7/9/01
to
Christian Ballerstaller <Chris...@web.de> writes:

> Hallo beisammen,
>
>
> ich habe beim Speichern eines DOMs in eine XML- Datei das Problem, daß Umlaute
> nicht korrekt gespeichert werden. Das heißt, sie werden in der gespeicherten
> Datei nicht angezeigt, und der Text wird verunstaltet.
>
>
> Ich speichere die XML- Datei folgendermaßen ab:
>
>
>
>
> OutputFormat format = new OutputFormat (DocumentToSave);
> format.setPreserveSpace (true);

>[...]

Hallo christian,

falls du Xerces verwendest kannst Du das enconding im constructor
angeben:

public OutputFormat(Document doc, String encoding, boolean indent)

Gruss,

MArkus

--
Java-FAQ: http://www.dclj.de (da werden Sie geholfen!)

0 new messages