Hallo zusammen,
ich habe ein Problem mit Umlauten bzw. Sonderzeichen während des SAX Parsings.
Die Umlaute/Sonderzeichen werden mit nach dem parsen nicht korrekt ausgegeben obwohl die xml Datei folgendenen Header aufweist.
Da ich unter Eclipse arbeite, habe ich auch unter den Properties geschaut ob die Datei <name>.xml wirklich als UTF-8 abgespeichert wurde - ja sie wurde.
Nun zum Code ...
Die obige Methode, rennt über eine bestimmte XML Datei.
Gesagt sei an dieser Stelle, das meine Klasse von
erbt.
Wenn ich nun ...
... mit dieser Methode die Sachen (name, value) ausgebe, erscheinen keine Umlaute sondern sowas wie
Ich weiß net wie ich das lösen kann. Normalerweise muss doch der SAX Parser anhand des UTF-8 erkennen, das er die Umlaute richtig darstellen kann o. irre ich da?
Hier mal eine Bsp. XML dazu ...
Gruß Sven
ich habe ein Problem mit Umlauten bzw. Sonderzeichen während des SAX Parsings.
Die Umlaute/Sonderzeichen werden mit nach dem parsen nicht korrekt ausgegeben obwohl die xml Datei folgendenen Header aufweist.
Code:
<?xml version="1.0" encoding="UTF-8"?>
Da ich unter Eclipse arbeite, habe ich auch unter den Properties geschaut ob die Datei <name>.xml wirklich als UTF-8 abgespeichert wurde - ja sie wurde.
Nun zum Code ...
Java:
public void parseFile(File file)
{
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
try
{
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(file, this);
}
catch (FileNotFoundException fne)
{
System.out.println("File not found, please specify one!");
}
catch (Throwable t)
{
t.printStackTrace();
}
}
Die obige Methode, rennt über eine bestimmte XML Datei.
Gesagt sei an dieser Stelle, das meine Klasse von
Code:
DefaultHandler
Wenn ich nun ...
Java:
public void startElement(String namespaceURI, String lName, String qName, Attributes attrs)
throws SAXException
{
if (lName.equals("element"))
{
String name = attrs.getValue(0);
String value = attrs.getValue(1);
System.out.println(name + " = " + value);
}
}
... mit dieser Methode die Sachen (name, value) ausgebe, erscheinen keine Umlaute sondern sowas wie
Code:
ä oder ü
Ich weiß net wie ich das lösen kann. Normalerweise muss doch der SAX Parser anhand des UTF-8 erkennen, das er die Umlaute richtig darstellen kann o. irre ich da?
Hier mal eine Bsp. XML dazu ...
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<elements>
<element name="UE" value="Ü" />
<element name="AE" value="Ä" />
<element name="OE" value="Ö" />
</elements>
Gruß Sven
Zuletzt bearbeitet: