【问题标题】:java.io.UTFDataFormatException: Invalid UTF8 encodingjava.io.UTFDataFormatException:UTF8 编码无效
【发布时间】:2015-02-25 19:42:09
【问题描述】:

我正在使用 sax 解析器来解析一些 xml 文件。在尝试这样做时,我遇到了异常:

java.io.UTFDataFormatException: Invalid UTF8 encoding.
    at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(XMLUTF8Reader.java:174)
    at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(XMLUTF8Reader.java:213)
    at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(XMLUTF8Reader.java:134)
    at oracle.xml.parser.v2.XMLByteReader.saveBuffer(XMLByteReader.java:457)
    at oracle.xml.parser.v2.XMLReader.fillBuffer(XMLReader.java:2654)
    at oracle.xml.parser.v2.XMLReader.scanWhiteSpace(XMLReader.java:1749)
    at oracle.xml.parser.v2.NonValidatingParser.parseText(NonValidatingParser.java:1662)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1574)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:442)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:388)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:232)
    at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:173)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)

xml 看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
    <alerts>
        <fullName>AccountTerminationImplementationCannotbePerformed2</fullName>
        <description>Account Termination Implementation Cannot be Performed 2</description>
        <protected>false</protected>
  ....
....
</Workflow>

关于如何克服这个问题的任何建议?

【问题讨论】:

标签: java utf-8 sax saxparser


【解决方案1】:
        MyHandler handler = new MyHandler();
        in =
            new ByteArrayInputStream(text.getBytes**("UTF-8")**);

成功了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2010-12-19
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多