2009-10-08 14 views

risposta

2

Prova questo:

  • invece di usare 'e' '\ u00e9'
  • invece di 'A' uso '\ u00E2'
  • invece di usare 'e' '\ u00E8'

ecc

+0

Ho una stringa da oracle, in breve voglio sostituire tutto il carattere speciale è possibile? c'è qualche api per questo? – Garudadwajan

+0

quindi controlla la codifica del tuo db, quindi controlla qual è la codifica dei tuoi template jasperreports. tenete presente che oracle jdbc ha problemi nel trasformare alcuni caratteri speciali di ms word in unicode –

1

Se si vuole sfuggire caratteri speciali XML come <, > è possibile utilizzare CDATA:

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

I caratteri speciali come é, â, è dovrebbero funzionare in modo ottimale se si specifica la codifica dei caratteri all'inizio del file jrxml e si codifica il file correttamente.

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

Se il rapporto esportato mostra caratteri non validi, è necessario controllare l'esportazione di jasper. Ad esempio per l'esportazione in pdf è possibile trovare informazioni here.

1

Il salvataggio del file jrxml nella codifica UTF-8 non risolve il problema, poiché il file .jrxml è compilato nel file .jasper e perde le informazioni sulla codifica utilizzata. Alla relazione finale mancano quindi caratteri speciali.

Il problema si risolve quando si utilizzano i caratteri di escape/u00XX all'interno del tag XML CDATA. In questo caso i caratteri speciali sono presenti nel file PDF di output. I tag CDATA esterni non sono interpretati correttamente.

Problemi correlati