Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将UTF-8字符串转换为日语或任何其他语言IText PDF?_Java_Xml_Pdf_Encoding_Utf 8 - Fatal编程技术网

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

Java 如何将UTF-8字符串转换为日语或任何其他语言IText PDF?,java,xml,pdf,encoding,utf-8,Java,Xml,Pdf,Encoding,Utf 8,我正在使用UTF-8编码解析XML,其中包含一些中文、日语或卡纳达语。我能够成功地在screenHTML页面中显示这些语言,但我想生成PDF,我只看到英文 我遇到了字体,但担心每种语言都有字体对不起,如果我错了 在调试模式下,当变量转换为UTF-8时,我可以看到中文和其他语言 new String(myString.getBytes(Charset.forName("ISO-8859-1")),

我正在使用UTF-8编码解析XML,其中包含一些中文、日语或卡纳达语。我能够成功地在screenHTML页面中显示这些语言,但我想生成PDF,我只看到英文

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

在调试模式下,当变量转换为UTF-8时,我可以看到中文和其他语言

                            new String(myString.getBytes(Charset.forName("ISO-8859-1")),
                                    Charset.forName("UTF-8"))
请帮助在IText pdf中显示任何语言

注意:我正在使用UTF-8解析XML,当我从数据库中获取数据时,没有使用UTF或任何我能够在excel中打印的东西……在PDF中,我认为我应该使用字体


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

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


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

听起来您自己还没有充分调试此问题。例如,为什么您试图通过设置编码来解决显示unicode字符的问题,而不是确保PDF生成代码设置了正确的字体堆栈?如果没有代码来显示您现在正在尝试什么,作为一个整体,我们不知道您到底做错了什么,并且您的描述没有提供足够的信息让我们继续。请快速重读并相应地调整您的帖子。XML文档编码是什么并不重要,只要您阅读了使用该编码的文档;XML文档中的所有文本值都使用Unicode。一个库可能比一个定制的实现做得更好。这就是Java,不是吗?请添加标签。Java字符串也是Unicode UTF-16。您的代码是从Java字符串UTF-16到ISO 8859-1的有损转换,然后是从UTF-8进行的数据损坏转换,最后再次得到Java字符串UTF-16.new StringmyString.getBytesCharset.forNameISO-8859-1,Charset.forNameUTF-8-如果需要这样的转换才能正确检索输入数据,你获得神秘感的方式已经有些可疑了。尽管如此,你的问题似乎是关于iText的,但你既没有以任何方式展示你是如何使用iText处理数据的,也没有解释不希望的效果是什么或你真正想要的是什么。谢谢你的帮助…我明白了你的意思…我可以在excel报告中打印语言…不使用UTF-8或任何东西只需获取数据并打印…但是PDFItext根本不显示那些文本日语和..在中使用字体时遇到IText@GopiLal但是PDF Itext并没有显示这些文本——然后只需显示Itext使用的关键代码,这样这里的人就可以分析它并告诉你做错了什么。