如何在JasperReports中转义特殊字符?

时间:2009-10-08 14:07:37

标签: jasper-reports special-characters escaping

如何转义JasperReports中的特殊字符?

我想逃避特殊字符,例如: - é,â,è,^,@在jasper报告中,那么我们有什么办法可以逃脱这些角色吗?

3 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分: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导出可以找到信息here

答案 2 :(得分:1)

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

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