最近做java读取一个xml文件模板的时候,发生了一个诡异的问题。就是读出来的字符串,调试的时候显示是正常的,但是真正用的时候或者打印出来的时候,前边有一个问号。?<xml>...</xml>,类似这样。
后来在网上搜了一下,找到这个:http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4508058 对于有dom的UTF-8编码文件时,从jdk1.4开始就会在读取的时候出现这个?了。而且官方明确表示won't fix,所以现在用jdk6的时候仍然存在。
解决办法其实就是改变文件的编码,改成无DOM的UTF-8就OK了。
比如在notepad++里可以选这个:
本文详细介绍了在使用Java读取XML文件模板时遇到的编码问题,即在JDK 6中从DOM解析UTF-8编码文件时出现的问号符号。文章解释了此问题是由于JDK版本限制导致,并提供了将文件编码更改为无DOM的UTF-8格式的解决方案。通过使用如Notepad++等编辑器更改文件编码,可以避免在实际应用或打印时出现乱码。
3449

被折叠的 条评论
为什么被折叠?



