使用itext java的i18n / UTF-8字符串问题

时间:2014-11-29 07:16:57

标签: java json unicode utf-8 itext

我用json中收到的数据用itext创建pdf。它可能包含i18n / UTF-8中的任何语言字符。

我浏览了一下itext示例,其中显示了如何使用unicode显示i18n / UTF-8字符。但在我的情况下,我需要从json中取出字符串并直接将其放到pdf中。

在这种情况下,我在pdf中获得垃圾字符。我使用Unicode字体Arial_Unicode_MS。

itext pdf displaying junk chars for UTF-8 language characters

有没有办法写这个?

data=record.getString(dbColNames[j]);

if (data == null || data.equalsIgnoreCase("null") || data.equalsIgnoreCase("")
    data = "N/A";
dataCell= new PdfPCell(new Phrase(8, new Chunk(data, dataFont)));
dataCell.setBackgroundColor(color);
pdfTable.addCell(dataCell);


{
    "5mintime_org": "2014-10-20",
    "rrank": "2",
    "maxutq_org": "47.73",
    "avgutq_org": "7.92",
    "username_org": "صارف",
    "username": "صارف",
    "5mintime": "2014-10-20",
    "rrank_org": "2",
    "maxutq": "47.73",
    "avgutq": "7.92"
},
{
    "5mintime_org": "2014-10-16",
    "rrank": "3",
    "maxutq_org": "43.75",
    "avgutq_org": "6.32",
    "username_org": "用户",
    "username": "用户",
    "5mintime": "2014-10-16",
    "rrank_org": "3",
    "maxutq": "43.75",
    "avgutq": "6.32"
},

1 个答案:

答案 0 :(得分:0)

这不适合读取json数据。您的编辑器编码在编译或解释时可能不支持utf-8。我建议您从支持Utf-8编码的文件中读取json数据,并更改默认语言环境。