【问题标题】:JasperReports API: calling JasperCompileManager.compileReport (String) method raised the MalformedByteSequenceException exceptionJasperReports API:调用 JasperCompileManager.compileReport (String) 方法引发 MalformedByteSequenceException 异常
【发布时间】:2012-04-03 07:31:04
【问题描述】:
public void openReport() {

    try {
        HashMap params = new HashMap();
        params.put("aapor", 19);

        JasperReport jasperReport1 = JasperCompileManager.compileReport("C:/Users/emidemi.emidemi-PC/Documents/NetBeansProjects/FleetManager/src/FleetManager/newReport5.jasper");
        JasperPrint jasperPrint1 = JasperFillManager.fillReport(jasperReport1, params, conn.getConn());

        JRViewer viewer = new JRViewer(jasperPrint1);

    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

以上是我的脚本。

这是我的错误:

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
BUILD SUCCESSFUL (total time: 7 seconds)

有谁知道为什么会发生这种情况以及如何解决?

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    这是字符编码的问题。您是否尝试过更改报告开头的编码行?

    即对于中欧字母,更改:

    <?xml version="1.0" encoding="UTF-8"?>
    

    通过

    <?xml version="1.0" encoding="CP1250"?>
    

    您在此处列出了不同的字符编码标准: http://en.wikipedia.org/wiki/Character_encoding#Common_character_encodings

    希望有效果

    【讨论】:

      【解决方案2】:

      您正在尝试编译已编译的 jasper 文件。将 newReport5.jasper 替换为 newReport5.jrxml。

      如果你想直接使用 jasper 文件,你必须这样做:

      JasperReport jasperReport = (JasperReport)JRLoader.loadObject(new File("filename.jasper"));
      

      【讨论】:

        【解决方案3】:

        此异常何时发生(编译还是执行?)。通常这个问题意味着你的输入不是 UTF-8。

        如果您完全确定它应该是 UTF-8,请尝试以下操作: 1. 创建一个新的 EMPTY 文件并将其编码为 UTF-8。 2. 将旧文件中的整个文本复制到新文件中。 3. 保存新文件并检查它是否适用于新文件。如果是这样,则您的旧文件不是正确的 UTF-8。 4. 如果没有,请发布您的输入文件(jrxml。)

        当我遇到这样的问题时,我会尝试找到有问题的角色,十六进制编辑器会提供帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-07
          • 2021-12-12
          • 1970-01-01
          • 2017-06-09
          • 2019-12-10
          • 2019-08-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多