で特殊文字をエスケープする方法はJasperReports
?
jasper レポートで é、â、è、^、@ などの特殊文字をエスケープしたいのですが、この文字をエスケープする方法はありますか?
で特殊文字をエスケープする方法はJasperReports
?
jasper レポートで é、â、è、^、@ などの特殊文字をエスケープしたいのですが、この文字をエスケープする方法はありますか?
これを試して:
等
<, >
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 エクスポートの場合は、ここで情報を見つけることができます。
.jrxml ファイルが .jasper ファイルにコンパイルされ、使用されているエンコーディングに関する情報が失われるため、jrxml ファイルを UTF-8 エンコーディングで保存しても問題は解決しません。最終レポートに特殊文字がありません。
CDATA XML タグ内で /u00XX エスケープ文字を使用すると、問題が解決されます。この場合、特殊文字は出力 PDF ファイルに存在します。CDATA タグの外側は、正しく解釈されないエスケープ文字です。