7

で特殊文字をエスケープする方法はJasperReports?

jasper レポートで é、â、è、^、@ などの特殊文字をエスケープしたいのですが、この文字をエスケープする方法はありますか?

4

3 に答える 3

2

これを試して:

  • 「é」の代わりに「\u00E9」を使用
  • 「â」の代わりに「\u00E2」を使用
  • 「è」の代わりに「\u00E8」を使用

于 2009-10-08T14:40:03.143 に答える
1

<, >CDATA を使用できるように特殊な XML 文字をエスケープする場合:

<staticText>
    <reportElement x="0" y="0" width="100" height="14"/>
    <textElement/>
        <text><![CDATA[This is a test:<                 ]]></text>
</staticText>

のような特殊文字é, â, èは、jrxml ファイルの先頭で文字エンコーディングを指定し、ファイルを正しくエンコードするとうまく機能するはずです。

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

エクスポートされたレポートに無効な文字が表示される場合は、jasper エクスポートを確認する必要があります。たとえば、pdf エクスポートの場合は、ここで情報を見つけることができます。

于 2009-11-05T11:06:27.643 に答える
1

.jrxml ファイルが .jasper ファイルにコンパイルされ、使用されているエンコーディングに関する情報が失われるため、jrxml ファイルを UTF-8 エンコーディングで保存しても問題は解決しません。最終レポートに特殊文字がありません。

CDATA XML タグ内で /u00XX エスケープ文字を使用すると、問題が解決されます。この場合、特殊文字は出力 PDF ファイルに存在します。CDATA タグの外側は、正しく解釈されないエスケープ文字です。

于 2013-08-06T11:19:57.070 に答える