1

フランスの国際化のためのリソースバンドルを含むレポートとサブレポートがあります。エラーや警告はスローされませんが、このレポートを使用してpdfを作成すると、エンコードの間違いのために奇妙な文字が表示されます(éforéは例です)。

私はまだその問題について調査していますが、それはサブレポートに関連していると思います。

いくつかの精度:

  • 理由はわかりませんが、プロパティファイルはutf8でエンコードされており、リソースバンドルのリーダーがオーバーライドされます(変更することはできません:()。
  • 特殊文字はメインレポートで見栄えがします。問題はサブレポートセクションでのみ発生します。(そしてすべてが同じプロパティファイルから来ています)
4

2 に答える 2

4

問題は解決しました:

Javaファイルで、resourcebundle(私にとっては入力エンコーディングとしての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>
于 2012-04-26T01:02:43.903 に答える
1

プロパティファイルで、文字/特殊文字のコードを使用してみましたか?

たとえば、文字「é」は\u00E9

于 2012-04-23T08:16:30.543 に答える