2009-10-08 17 views

Odpowiedz

2

Spróbuj tego:

  • zamiast 'E' użytkowania '\ u00E9'
  • zamiast 'A' zastosowania '\ u00E2'
  • zamiast 'E' użytkowania '\ u00E8'

itp

+0

Mam string pochodzący z oracle, w skrócie chcę wymienić wszystkie znaki specjalne, czy to możliwe? czy jest tam jakieś api? – Garudadwajan

+0

następnie sprawdź, jakie jest kodowanie bazy danych, a następnie sprawdź, jakie jest kodowanie szablonów jasperreports. pamiętaj, że oracle jdbc ma problemy z transformacją niektórych specjalnych znaków MS Worda na Unicode –

1

Jeśli chcesz uciec specjalne znaki XML jak <, > można użyć CDATA:

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

Znaki specjalne, takie jak é, â, è powinny działać dobrze, jeśli określisz kodowanie znaków na początku pliku jrxml i poprawnie zakoduje plik.

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

Jeśli wyeksportowany raport zawiera nieprawidłowe znaki, należy sprawdzić eksport jaspisu. Na przykład dla eksportu pdf można znaleźć informacje here.

1

Zapisywanie pliku jrxml w kodowaniu UTF-8 nie rozwiązuje problemu, ponieważ plik .jrxml jest kompilowany do pliku .jasper i traci informacje o używanym kodowaniu. W raporcie końcowym brakuje znaków specjalnych.

Problem został rozwiązany podczas używania znaków ułamkowych/u00XX wewnątrz tagu CDATA XML. W tym przypadku znaki specjalne są obecne w wyjściowym pliku PDF. Poza tagiem CDATA są znaki escape, które nie są interpretowane poprawnie.

Powiązane problemy