Java iText编码问题

Java iText编码问题,java,encoding,utf-8,character-encoding,itext,Java,Encoding,Utf 8,Character Encoding,Itext,我对iText()有编码问题。我从数据库中加载数据,并使用iText将其作为html插入到pdf中,由于某些原因,我的非英语字符(芬兰语字母、ö等)显示不正确。以下示例显示如何将文本插入html: text = "<p>" + data + "</p>"; HTMLWorker htmlWorker = new HTMLWorker(doc); InputStream is = new ByteArrayInputStream(text.getBy

我对iText()有编码问题。我从数据库中加载数据,并使用iText将其作为html插入到pdf中,由于某些原因,我的非英语字符(芬兰语字母、ö等)显示不正确。以下示例显示如何将文本插入html:

    text = "<p>" + data + "</p>";
    HTMLWorker htmlWorker = new HTMLWorker(doc);
    InputStream is = new ByteArrayInputStream(text.getBytes());
    InputStreamReader isr = new InputStreamReader(is);
    htmlWorker.parse(isr);  
text=“”+数据+”

”; HTMLWorker HTMLWorker=新HTMLWorker(文档); InputStream is=newbytearrayinputstream(text.getBytes()); InputStreamReader isr=新的InputStreamReader(is); htmlWorker.parse(isr);

更新:如果必须添加它在我的Windows Vista系统中工作,但在Linux系统中不工作。

您的默认语言环境设置正确吗?确保
Locale.getDefault()
正在返回它应该返回的值。在windows和linux上,如果其中一个设置不正确,这可能会有所不同。

请尝试使用适当的字符集名称。

您好,thanx,linux服务器上的区域设置不同,所以这一定是导致此问题的原因……刚才测试时,我更改了区域设置和区域设置,但仍然得到错误的字符HMM。。是Firefox缓存改变了错误的版本,重新启动Firefox帮助了我们,现在一切都好了。