2009-10-08 64 views

答えて

2

これを試してみてください。代わりに 'E' 使用の

  • を '\ u00E9' の代わりに 'A' 使用の
  • '\ u00E2' の代わりに 'u00E8 \'
  • 'E' 使用の

など

+0

私はオラクルからの文字列を持っている、短い私はすべての特殊文字を置き換えたいそれは可能ですか?それのための任意のAPIはありますか? – Garudadwajan

+0

次に、dbのエンコーディングを確認してから、jasperreportsテンプレートのエンコーディングを確認してください。 oracle jdbcには、いくつかの特殊なms単語の文字をUnicodeに変換する際に問題があることに注意してください –

1

あなたは<, >のような特殊なXML文字をエスケープしたい場合は、CDATAを使用することができます。

<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"?> 

エクスポートされたレポートに無効な文字が表示される場合は、ジャスパーのエクスポートを確認する必要があります。たとえば、pdfエクスポートの場合は、hereという情報があります。

1

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

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

関連する問題