阿拉伯文内容显示为“?”&引用;从HTML[JAVA][PD4ML]生成PDF时

阿拉伯文内容显示为“?”&引用;从HTML[JAVA][PD4ML]生成PDF时,java,pd4ml,Java,Pd4ml,我试图写一个代码,使用该PDF可以生成不同的语言。 它适用于大多数语言(如英语、日语、韩语、汉语),但阿拉伯语文本显示为“?”。这是代码的git链接。你能告诉我我遗漏了什么,以及如何改正吗。我正在使用PD4ML库生成HTML到PDF public void setEncoding(String encoding) { if (encoding != null && !encoding.equals("iso-8859-1")) { t

我试图写一个代码,使用该PDF可以生成不同的语言。 它适用于大多数语言(如英语、日语、韩语、汉语),但阿拉伯语文本显示为“?”。这是代码的git链接。你能告诉我我遗漏了什么,以及如何改正吗。我正在使用PD4ML库生成HTML到PDF

public void setEncoding(String encoding) {
         if (encoding != null && !encoding.equals("iso-8859-1")) {
              this.encoding = encoding;
            }
    }
将setEncoding方法更改为

public void setEncoding(String encoding) {
             if (encoding != null && !encoding.equals("utf-8")) {
                  this.encoding = encoding;
                }
        }

尝试将编码添加到pom中

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

UTF-8

早期版本的PD4ML不支持RTL。你可以参考这份文件。 PD4ML的最新版本支持RTL。
请参阅下面的链接。

在测试中,为什么要为AB
PDFDoc pdf=PDFDocFactory.getPDFDoc(“test_AB.pdf”,新字符串(AB_HTML_code.getBytes())
?编码是否设置为UTF-8?@MadaManu-最初我只是尝试将html内容作为字符串传递,但没有成功。所以我想先把它转换成字节,然后再转换成字符串,但这也没有实现helped@Maxdola-是的,对于阿拉伯语,我已将编码设置为UTF-8、ISO_8859_1,甚至我也尝试过其他编码,但不起作用。您在哪里设置了编码?你在pom中设置了吗?这并不能解决问题。甚至我也不确定仅仅通过检查UTF-8如何解决这个问题。我在pom中添加了它。但还是一样,对你有用吗?