碧玉报告缺少字符

问题描述 投票:2回答:3

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

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

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

是否缺少任何设置?

字体支持UTF-8吗?

utf-8 jasper-reports
3个回答
1
投票

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


1
投票

我不知道为什么会这样,但是我的解决方案是将emission = emiss\u00E3o放置在资源属性文件中,而不是emission = emissão中,可能是jasper report lib只能以ASCII读取资源文件字节。


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,用于中欧国家/地区,例如波兰。设置此属性后,字符又回来了。我想对于其他编码也应该可以这样做

© www.soinside.com 2019 - 2024. All rights reserved.