SAX-Fehler - MalformedByteSequenceException: Ungültiges Byte 1 der 1-Byte-UTF-8-Sequenz.
Problem
Wenn einige spezielle UTF-8-Zeichen in einer XML-Datei und der Parser Ihres SAX nicht so konfiguriert ist, dass UTF-8 ordnungsgemäß analysiert wird, wird die folgende Ausnahme ausgelöst.
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence. ...
Lösung
Die Lösung ist recht einfach: Rufen Sie den Inhalt im UTF-8-Format ab und überschreiben Sie die SAX-Eingabequelle.
File file = new File("c:\\file-utf.xml"); InputStream inputStream= new FileInputStream(file); Reader reader = new InputStreamReader(inputStream,"UTF-8"); InputSource is = new InputSource(reader); is.setEncoding("UTF-8"); saxParser.parse(is, handler);
Das vollständige Beispiel können Sie hier lesen -how do read UTF-8 XML file with SAX parser