2009-10-08 22 views

Antwort

2

Versuchen Sie folgendes:

  • statt 'é' Verwendung '\ u00E9'
  • statt 'â' Verwendung '\ u00E2'
  • statt 'è' Verwendung '\ u00E8'

usw.

+0

Ich habe String kommend von Orakel, zu einem kurzen möchte ich alle Sonderzeichen ersetzen ist es möglich? Gibt es eine API dafür? – Garudadwajan

+0

dann überprüfen Sie, was ist die Codierung Ihrer Datenbank, dann überprüfen Sie, was ist die Codierung Ihrer jasperreports Vorlagen. Bedenken Sie, dass oracle jdbc Probleme hat, einige spezielle ms-Wortzeichen in Unicode umzuwandeln –

1

Wenn Sie spezielle XML-Zeichen entfliehen möchten, wie <, > Sie CDATA verwenden können:

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

Sonderzeichen wie é, â, è sollten gut funktionieren, wenn Sie die Zeichencodierung am Anfang der jrxml-Datei angeben und die Datei korrekt codieren.

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

Wenn der exportierte Bericht ungültige Zeichen enthält, sollten Sie den Jaspsexport überprüfen. Zum Beispiel für PDF-Export finden Sie Informationen here.

1

Das Speichern der jrxml-Datei in der UTF-8-Codierung löst das Problem nicht, da die .jrxml-Datei in die .jasper-Datei kompiliert wird und Informationen über die verwendete Codierung verloren geht. Abschlussbericht fehlen dann Sonderzeichen.

Problem ist gelöst, wenn/u00XX Escape-Zeichen innerhalb CDATA XML-Tag verwenden. In diesem Fall sind die Sonderzeichen in der ausgegebenen PDF-Datei vorhanden. Außerhalb des CDATA-Tags werden Escape-Zeichen nicht korrekt interpretiert.

Verwandte Themen