gpt4 book ai didi

grails - Jasper Report 模板中的变音符号

转载 作者:行者123 更新时间:2023-12-01 04:06:53 24 4
gpt4 key购买 nike

我必须使用波兰语来填写我的报告内容,所以我必须使用变音符号(ą, ć, ę, ł, ó, ż, ź)。我对它们有问题,将 jasper 打印导出到输出后,它们被跳过。当我在模板中书写时 "lubię żółwie" (在波兰语中表示“我喜欢海龟”),输出 pdf 仅包含 "lubi wie" (顺便说一句,这意味着“他喜欢他知道” - 所以它改变了很多;))。甚至没有空格代替丢失的字母。他们只是被跳过了。

一个额外的提示是,这些字符串是报告中的静态文本还是动态文本并不重要 $P{}
我的问题是:“如何让它们出现”?

我正在尝试(没有成功):

  • 使用方法setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8")JRPdfExporter
  • 设置 JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "UTF-8");
  • 设置 JRProperties.setProperty("net.sf.jasperreports.export.character.encoding", "UTF-8");
  • 将 REPORT_LOCALE 放入参数映射 ( JasperFillManager.fillReport )


  • 解决方案 :事实证明,在我的情况下,将字体附加到类路径,定义自己的 jasperreports_extension.properties 和 fonts.xml 就足够了。详情 here .如果有人使用 Grails 框架来做这件事(像我一样) here是更准确的例子。附加和必需的步骤是设置 JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "Cp1250")正如沃伊泰克所写。仍然不知道为什么,但当我知道答案时,我会更新解决方案。

    最佳答案

    如果您在 Windows 机器上工作:

    在您的 JasperReports jar 文件中,您将找到一个名为 的配置文件。 default.jasperreports 打开它并更改以下属性的值,如下所示:

    net.sf.jasperreports.default.pdf.encoding=Cp1250

    您还可以使用:
    JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "Cp1250")
    但我认为第一个解决方案更清洁。还请确保 pdf字体正如亚历克斯 K 指出的那样,您的领域支持变音符号。 AFAIK 这些字体在字体选择组合框中以粗体显示。

    如果你想在你的报告中使用 UTF-8 字体,你必须首先将它们放在你的类路径中并明确包含它们。

    关于grails - Jasper Report 模板中的变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739811/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com