XML文件用记事本创建,完成后保存到硬盘中的时候,这时,记事本会去查码表(记事本默认查GB2312码表,ANSI就是GB2312本地字符集。),转换成对应的数字存放。之后,用IE打开XML文件,IE读的时候,会根据XML里面的encoding去打开,如果encoding="UTF-8",那么打开的是乱码。再次用记事本打开XML文件,另存为,编码选择UTF-8,则重新打开的时候就不会有乱码。
总结:XML文件用IE不能打开,原因有两个:
一、是文件保存的时候用的字符集和XML文件的encoding不一致。
二、如果排除第一个原因,那么可能是IE浏览器的编码和XML的encoding不一致(IE支持手工修改编码,在IE界面中--右键--编码--XXXX)。
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>要是文档任何一个地方(比如" ?> "前面)敲入一个圆角空格,那么IE也打不开的。但是圆角文字可以。
<!--encoding的作用:告诉XML解析引擎(我们用IE打开,那么IE就是解析引擎,也就是解析器),以哪种编码打开XML文件;standalone=no表示依赖于其他文档,按理说这样IE会打不开,但是IE并不遵循这一规范,照样打开了,普通的XML文档中standalone这个属性可以不用写-->