Как избежать спецсимволов в JasperReports? - PullRequest
6 голосов
/ 08 октября 2009

Как экранировать специальные символы в JasperReports?

Я хочу экранировать специальные символы, такие как: - é, â, è, ^, @ в отчетах jasper, так есть ли способ избежать этих символов?

Ответы [ 3 ]

2 голосов
/ 08 октября 2009

Попробуйте это:

  • вместо 'é' используйте '\ u00E9'
  • вместо 'â' использовать '\ u00E2'
  • вместо 'è' используйте '\ u00E8'

и т.д.

1 голос
/ 06 августа 2013

Сохранение файла jrxml в кодировке UTF-8 не решает проблему, поскольку файл .jrxml скомпилирован в файл .jasper и теряет информацию об используемой кодировке. В итоговом отчете отсутствуют специальные символы.

Проблема решена при использовании escape-символов / u00XX внутри тега CDATA XML. В этом случае специальные символы присутствуют в выходном файле PDF. За пределами тега CDATA находятся escape-символы, которые неправильно интерпретируются.

1 голос
/ 05 ноября 2009

Если вы хотите экранировать специальные символы 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 можно найти информацию здесь .

...