7

如何转义中的特殊字符JasperReports

我想在 jasper 报告中转义特殊字符,例如:-é、â、è、^、@,那么有什么办法可以转义这些字符吗?

4

3 回答 3

2

尝试这个:

  • 而不是 'é' 使用 '\u00E9'
  • 而不是 'â' 使用 '\u00E2'
  • 而不是 'è' 使用 '\u00E8'

等等

于 2009-10-08T14:40:03.143 回答
1

如果您想转义特殊的 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"?>

如果导出的报告显示无效字符,您应该检查 jasper 导出。例如 pdf 导出可以在这里找到信息。

于 2009-11-05T11:06:27.643 回答
1

以 UTF-8 编码保存 jrxml 文件并不能解决问题,因为 .jrxml 文件被编译为 .jasper 文件,它会丢失有关使用的编码的信息。然后最终报告缺少特殊字符。

在 CDATA XML 标记中使用 /u00XX 转义字符时问题已解决。在这种情况下,特殊字符出现在输出 PDF 文件中。外部 CDATA 标记是未正确解释的转义字符。

于 2013-08-06T11:19:57.070 回答