XML: Darstellungsprobleme mit Umlauten!

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

ich lese mit aus eMails verschiedene Sachen aus und speichere das alles in einem XML-File, welches mittels JDOM erstellt wird. Das klappt soweit erstmal.
Doch wenn ich nun doppelklick auf´s XML mache, öffnet sich sich diese im IE7 und wirft eine Fehlermeldung: "Im Textinhalt wurde ein ungültiges Zeichen gefunden. Fehler beim Bearbeiten der Ressource 'file:///Z:/workspace/FetchIMAP/X...

<betreff>Testanfrage 28.03.2008 2-Anh

"
Der Fehler liegt daran, dass hier der Text mit einem ä (Umlaut) weitergehen würde!!! Anscheinend machen Umlaute massive Probleme beim Darstellen des XML?!?!
So erstelle bzw. speichere ich das XML in Java:
Code:
Format format = Format.getPrettyFormat();
XMLOutputter outputter = new XMLOutputter( format.setEncoding("utf-8") );
FileWriter writer = new FileWriter("Z:/workspace/FetchIMAP/XML-Vorlage/tultec.xml");
outputter.output(doc, writer);
writer.close();

Wenn ich nun händisch den Umlaut entferne und das XML erneut doppelklicke, dann wird es vom IE7 dargestellt:
Code:
  <?xml version="1.0" encoding="utf-8" ?> 
  <firma>
    <anfrage>
      <betreff>Testanfrage 28.03.2008 2-Anhaenge</betreff> 
      <von>xyz@firma.de</von> 
      <gesendet_am>28.03.2008</gesendet_am> 
      <content>Hallo,
 
 hier ist ne Anfragemail mit 2 Anh&ngen.</content> 
      <attachment file="1" type="attachment">Z:/workspace/FetchIMAP/Attachments/trail.txt.10</attachment> 
      <attachment file="2" type="attachment">Z:/workspace/FetchIMAP/Attachments/trail.txt.20</attachment> 
    </anfrage>
  </firma>

Wieso ist das so - hab ich bei der Erstellung was falsch gemacht?
Wie kann ich es hinbekommen, dass Umlaute keinen Fehler auslösen?

Danke und Gruß
 

sliwalker

Top Contributor
Hi,

entweder Du ersetzt die Umlaute durch ....(mir fällt das Fachwort nicht ein)..."Entitäten" iwe "&" oder Du setzt das Encoding auf "encoding="ISO-8859-1"".

Ich würde es durch "Entitäten" ersetzen, weil Du dann kein problem hast die Datei auch in anderen Encodings zu verwenden.

greetz
SLi
 

Final_guy

Aktives Mitglied
Hi,

keine Ahnung, warum der IE7 scheinbar kein UTF-8 mag (ist mir auch ziemlich Wurst), aber ein Java-Problem scheint das jedenfalls nicht zu sein, oder? Schließlich wird die XML-Datei ja richtig erzeugt. Oder habe ich deine Frage da falsch verstanden?
 

magic_halli

Bekanntes Mitglied
Hi,

ich habe jetzt das Encoding geändert:
Code:
XMLOutputter outputter = new XMLOutputter( format.setEncoding("ISO-8859-1") );
Jetzt scheint es zu funktionieren - auch mit Umlauten. Mal sehen... :wink:

Danke
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben