我有一份报告和一份子报告,其中包含用于法语国际化的资源包。不会引发错误或警告,但是当我使用此报告创建 pdf 时,会出现奇怪的字符,因为编码错误(é 是一个例子)。
我仍在调查该问题,但我想它与子报告有关。
几个精度:
- 我不知道为什么,但是属性文件是 utf8 编码的,并且资源包的读取器被覆盖(并且我不允许更改它:()。
- 特殊字符在主报告中看起来不错;该问题仅出现在子报表部分。(一切都来自同一个属性文件)
我有一份报告和一份子报告,其中包含用于法语国际化的资源包。不会引发错误或警告,但是当我使用此报告创建 pdf 时,会出现奇怪的字符,因为编码错误(é 是一个例子)。
我仍在调查该问题,但我想它与子报告有关。
几个精度:
好的问题解决了:
在 java 文件中,在覆盖资源包上需要的任何内容之后(对我来说:UTF-8 作为输入编码),您执行以下操作:
reportParamMap.put(JRParameter.REPORT_RESOURCE_BUNDLE, resourceBundle);
好吧,在 JRXML 文件中,不要忘记将资源包传递给需要它的子报表:
<subreport>
<reportElement />
<subreportParameter name="REPORT_RESOURCE_BUNDLE">
<subreportParameterExpression>
<![CDATA[$P{REPORT_RESOURCE_BUNDLE}]]>
</subreportParameterExpression>
</subreportParameter>
<dataSourceExpression/>
<subreportExpression/>
</subreport>
在您的属性文件中,您是否尝试过使用字符/特殊字符的代码?
例如字符“ é
”必须是\u00E9