【问题标题】:jasper report with unicode characters throwing illegal argument exceptionjasper 报告 unicode 字符引发非法参数异常
【发布时间】:2022-01-25 03:36:17
【问题描述】:

我有一个在 grails 框架中开发的 Web 应用程序。其中有一些使用 jasper 报告开发的报告。使用 jasper 插件从 grails 控制器调用报告。报告从 Web 应用程序呈现,没有任何问题。

几天前,我在运行此应用程序的 tomcat 服务器中实现了 SSL。实施 SSL 后,包含 unicode 字符的报告会引发以下错误:

在服务器日志中我发现了以下相关内容-

2021-12-24 13:34:24,864 [https-openssl-apr-443-exec-1147] 错误 errors.GrailsExceptionResolver - 发生 IllegalArgumentException 处理请求时:[POST] /reportCenter/callReport Unicode 代码点 [2,459] 处的字符 [?] 无法编码,因为它在外部 允许的范围为 0 到 255.. Stacktrace 如下: java.lang.IllegalArgumentException:代码中的 Unicode 字符 [?] 点 [2,459] 无法编码,因为它超出了允许的范围 0 到 255。

但其他不包含 unicode 字符的报告工作正常。我已经用谷歌搜索了几个小时,但没有运气。有人可以帮忙吗?

【问题讨论】:

    标签: grails unicode jasper-reports


    【解决方案1】:

    您的配置文件或JRXML 需要声明编码。尝试 UTF-8 或 ISO-8859-1(即 latin-1)

    <property name="net.sf.jasperreports.export.character.encoding" value="UTF-8"/>
    

    根据是csv还是pdf,有不同的属性名称,在此页面搜索“编码”一词:

    来源:https://community.jaspersoft.com/wiki/how-set-encoding-exports-resolve-odd-and-incorrect-characters-output

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 2023-03-31
      相关资源
      最近更新 更多