日期:2014-05-20  浏览次数:20721 次

为什么java解释不了我的这个带中文的XML文件(encoding="UTF-8")
xml文件内容如下(自己手工写的)

<?xml   version= "1.0 "   encoding= "UTF-8 "?>

<学生花名册>
    <学生   性别= "男 ">
        <姓名> 李华 </姓名>
        <年龄> 14 </年龄>
        <电话> 6287555 </电话>
    </学生>
    <学生   性别= "男 ">
        <姓名> 张三 </姓名>
        <年龄> 16 </年龄>
        <电话> 8273425 </电话>
    </学生>
</学生花名册>
======================
读取代码大概如下:
InputStream   is   =new   FileInputStream(aa.xml);
DocumentBuilderFactory   dbf   =   DocumentBuilderFactory.newInstance();
DocumentBuilder   db   =   null;  
Document   doc   =   null;  
try   ...
      db   =   dbf.newDocumentBuilder();  
      doc   =   db.parse(is);   //执行到这句时提示 "字符转换错误 "
catch   ...

如果把XML头改成GB2312则代码能成功执行!
我是新手,请问这是什么问题?

------解决方案--------------------
你的xml文件保存的编码不对,用记事本打开,选另存为,用utf-8编码保存就可以了
然后用ie打开测试一下对不对
------解决方案--------------------
是的
------解决方案--------------------
值得注意,学习一下。。
------解决方案--------------------
用记事本然后保存为xml就行啦