格式错误的字节序列异常:1 字节 UTF-8 序列中的字节 1 无效



我的文件已经在记事本++中用UTF-8编码,为什么我仍然收到此错误?

顺便说一下,我正在使用jasperreports。 .jrxml

    Oct 30, 2017 12:35:07 AM frmStart jButton_repActionPerformed
SEVERE: null
net.sf.jasperreports.engine.JRException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:249)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:228)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:216)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:170)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:85)
    at frmStart.jButton_repActionPerformed(frmStart.java:556)
我相信

情况是,如果给定一个(二进制)输入流来读取,Xerces 将接受带有 BOM 的 UTF-8 输入,但是如果你给它一个(基于字符的)读取器作为输入,它会要求 Java I/O 库进行解码,这将失败。

所以这取决于Jasper Reports如何调用Xerces。我不知道你是否对此有任何控制。

相关内容

最新更新