如何将UTF-8字符串转换为日语或任何其他语言文字PDF文件?

时间:2017-09-24 17:56:47

标签: java xml pdf encoding utf-8

我正在使用UTF-8编码解析XML,它有一些中文,日文或kannada我能够在屏幕(HTML)页面中成功显示语言,但我想生成PDF我只看到英文...

我遇到了字体,但担心每种语言都有字体(对不起,如果错了)。

在调试模式下,当转换为UTF -8时,我能看到变量中的中文和其他语言,我看到了?????????。

                            new String(myString.getBytes(Charset.forName("ISO-8859-1")),
                                    Charset.forName("UTF-8"))

请帮助在IText pdf中显示任何语言

  

注意:我正在使用UTF-8解析XML,当我从数据库中获取而不使用UTF或我能够在Excel中打印的任何内容时...在PDF中我认为我应该使用字体。

1 个答案:

答案 0 :(得分:1)

UTF-8能够代表所有语言的文字。 ISO-8859-1只能用英语表示文本,大多数文本用少数欧洲语言表示。

如果您要将文本转换为ISO-8859-1,然后将其存储为UTF-8,那么您将破坏对ISO-8859-1的有限子集不支持的其他语言的文本的支持。保持Unicode格式(例如UTF-8)。

正如评论中所提到的,Java字符串在内部与Unicode兼容(它们在内部使用UTF-16),因此不需要任何转换,甚至是UTF-8,也不需要完全支持所有语言。如果您需要转换为导出为PDF的任何内容,您只需要进行转换,但您似乎并没有指定它是什么。