我有以下文字,我从数据库
收到 "----- Some Text ------ Bônus -------- Some Text ------- "
我将它存储在String变量中并在控制台中打印变量并将其写入PDF中,但问题是我没有在控制台和PDF中以正确的格式获取文本,而是得到了Bônus为'BÃ'nus',我提到了这个例子 http://itext.2136553.n4.nabble.com/Problem-with-spanish-character-td2163635.html
并将gradle文件中编译器的编码更改为
compileJava.options.encoding = 'UTF-8'
但问题仍未得到解决
我推出的示例文本只是一个示例文本,还有许多其他单词会被更改,或者显示一个空框。
我是否需要从IText的角度来看待它?还是编译器?
虽然改变编译器的Unicode没有帮助
答案 0 :(得分:1)
检查您是否有unicode字体。它可能会导致您的问题。有一个设置字体的代码
BaseFont basefont = BaseFont.createFont("font_name.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
然后就这样使用它:
Paragraph p = new Paragraph("text in unicode", new Font(basefont, 22));
答案 1 :(得分:0)
经过一番搜索后,我终于能够以UTF 8形式获得它了
byte[] ptext = originalString.getBytes(ISO_8859_1);
String value = new String(ptext, UTF_8);
请找到我提到的链接,