2009-10-08 12 views

Répondre

2

Essayez ceci:

  • au lieu de 'é' utilisation '\ u00e9'
  • au lieu d'utiliser 'â' '\ u00E2'
  • au lieu de 'è' utilisation '\ u00E8'

etc.

+0

J'ai une chaîne venant d'oracle, à court je veux remplacer tous les caractères spéciaux est-ce possible? Y a-t-il un api pour ça? – Garudadwajan

+0

puis vérifiez quel est le codage de votre base de données, puis vérifiez quel est le codage de vos modèles jasperreports. Gardez à l'esprit que l'oracle jdbc a des problèmes pour transformer certains caractères de ms spéciaux en unicode –

1

Si vous voulez échapper les caractères spéciaux XML comme <, > vous pouvez utiliser CDATA:

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

Des caractères spéciaux tels que é, â, è devraient fonctionner correctement si vous spécifiez le codage de caractères au début du fichier jrxml et si vous codez le fichier correctement. Si le rapport exporté affiche des caractères non valides, vérifiez l'exportation de jasper. Par exemple pour l'exportation de pdf peut trouver l'information here.

1

L'enregistrement du fichier jrxml au format UTF-8 ne résout pas le problème, car le fichier .jrxml est compilé dans le fichier .jasper et perd des informations sur le codage utilisé. Il manque alors des caractères spéciaux dans le rapport final.

Le problème est résolu lors de l'utilisation de caractères d'échappement/u00XX à l'intérieur d'une balise XML CDATA. Dans ce cas, les caractères spéciaux sont présents dans le fichier PDF de sortie. Les balises CDATA extérieures sont des caractères d'échappement non interprétés correctement.

Questions connexes