我正在使用带有 DejaVu Sans字体的 JasperReports 报告。当我尝试打印单词emissão
时,无法正确打印,会显示一些缺少的字符,Locale=pt
我确信所有属性文件都是 UTF-8 格式。
jxml 文件也是 UTF-8 格式。 <?xml version="1.0" encoding="UTF-8"?>
有没有丢失的设置?
字体支持 UTF-8 ?
答案 0 :(得分:1)
答案 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,它用于中欧国家/地区,例如波兰。设置此属性后,字符又回来了。我想其他编码也应该可以做到这一点。