Как заставить экземпляр использовать кодировку, отличную от UTF-8 - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть экземпляр, возвращенный из базы данных XML в iso-8859-1, Orbeon, видимо, не нравится и выдает:

Fatal error: Invalid byte 2 of 3-byte UTF-8 sequence.
at org.orbeon.oxf.xml.XMLUtils$ErrorHandler.fatalError(XMLUtils.java:332)
at orbeon.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)
at orbeon.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:351)
at orbeon.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:281)
at orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1771)
at orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
at orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:845)
at orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:768)
at orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
at orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1201)
at org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:418)
at org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:403)
at org.orbeon.oxf.xml.TransformerUtils.readDom4j(TransformerUtils.java:357)
...

Указанный символ действителен iso-8859-1 ä (e4)

1 Ответ

1 голос
/ 16 февраля 2011

Кодировка по умолчанию для XML - UTF-8.Если ваша служба не использует UTF-8, она должна указать в декларации XML, какая кодировка используется.Например, если ваши данные закодированы в ISO-8859-1, то XML, возвращаемый службой, должен начинаться со следующего объявления:

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