jasper报告缺少字符

时间:2014-03-06 01:34:00

标签: utf-8 jasper-reports

我正在使用带有 DejaVu Sans字体的 JasperReports 报告。当我尝试打印单词emissão时,无法正确打印,会显示一些缺少的字符,Locale=pt

我确信所有属性文件都是 UTF-8 格式。

jxml 文件也是 UTF-8 格式。 <?xml version="1.0" encoding="UTF-8"?>

有没有丢失的设置?

字体支持 UTF-8

3 个答案:

答案 0 :(得分:1)

你查了这个链接吗? Unicode Sample 它说将编码从UTF-8改为ISO-8859-1就足够了。还有一个自定义属性“net.sf.jasperreports.export.character.encoding”。希望它有所帮助!

答案 1 :(得分:1)

我不知道为什么会发生这种情况,但我的解决方案是emission = emiss\u00E3o放在资源属性文件中而不是emission = emissão可能是jasper报告lib只读取资源文件字节的ASCII。

答案 2 :(得分:0)

我发现像这样在textElement上设置pdfEncoding属性很有用:

<textField>
    <reportElement x="0" y="0" width="554" height="30" uuid="faf3ff08-ecbc-40cb-b82c-529428aadaa4"/>
    <textElement>
         <font size="8" pdfEncoding="Cp1250"/>
    </textElement>
    <textFieldExpression><![CDATA[$P{disclaimer}]]></textFieldExpression>
</textField>

Cp1250对应于Windows-1250,它用于中欧国家/地区,例如波兰。设置此属性后,字符又回来了。我想其他编码也应该可以做到这一点。