如何转义JasperReports
中的特殊字符?
我想逃避特殊字符,例如: - é,â,è,^,@在jasper报告中,那么我们有什么办法可以逃脱这些角色吗?
答案 0 :(得分:2)
试试这个:
等
答案 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标记是未正确解释的转义字符。