时间:2021-05-25
XML文档可以包含外文字符比如挪威语或者法语(中文当然也可以!这一部分还是不能照原文翻译,下面有些内容是我自己写的)
为了让你的解析器能够明白这些字符,你必须在XML文档中统一的字符编码标准。
Windows95/98记事本
Windows95/98记事本不能以Unicode的编码格式保存文件。
可以使用记事本来编辑和保存包含了外文字符的XML文档(比如:挪威语或者法语或者中文)
<?xmlversion="1.0"?>
<note>
<from>小奀</from>
<to>小林</to>
<message>晚上一起去火锅呀</message>
</note>
但是如果你用浏览器打开这个用记事本编辑过的XML文档,将会出现一个错误openitwithIE5.0。
在Windows95/98记事本中使用编码
Windows95/98记事本编辑XML文件必须进行编码属性设置。
为了避免发生错误,可以在XML文档声明中加上一个encoding属性,指明此XML文档的编码类型,但是不要使用Unicode编码。
下面的编码类型不会导致错误,并且汉字显示正常:
<?xmlversion="1.0"encoding="gb2312"?>
下面的编码类型不会导致错误,并且汉字显示正常:
<?xmlversion="1.0"encoding="gbk"?>
下面的编码类型不会导致错误,并且汉字显示不正常(乱码):
<?xmlversion="1.0"encoding="windows-1252"?>
下面的编码类型不会导致错误,并且汉字显示不正常(乱码):
<?xmlversion="1.0"encoding="ISO-8859-1"?>
下面的编码类型不会导致错误,并且汉字显示正常:
<?xmlversion="1.0"encoding="UTF-8"?>
下面的编码类型会导致错误:
<?xmlversion="1.0"encoding="UTF-16"?>
使用Windows2000记事本
Windows2000记事本可以以Unicode编码格式保存文件。
Windows2000的记事本支持Unicode字符集。如果使用Win2000的记事本以Unicode的编码格式保存XML文档(请注意这里在XML声明中没有编码信息):
<?xmlversion="1.0"?>
<note><from>小奀</from><to>小林</to><message>晚上一起去火锅呀</message></note>
下面这个文件;note_encode_none_u.xml,在IE5.0+中将不会出现错误,但如果你使用网景Netscape6.2,就可能出错。读者比较note_encode_none.xml和note_encode_none_u.xml这两个文件,如果单独看他们各自的源文件,是没有区别的,但为什么一个能显示,一个不能显示呢?答案就是Unicode字符集。
Windows2000记事本编码
Windows2000记事本还可以以"UTF-16"编码格式保存文件。
如果你在XML文档中声明了编码属性而又以Unicode编码格式保存文件,将可能发生错误。
下面的代码将会导致错误:
<?xmlversion="1.0"encoding="windows-1252"?>
下面的代码将会导致错误:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
下面的代码将会导致错误:
<?xmlversion="1.0"encoding="UTF-8"?>
下面这个文件;note_encode_utf16_u.xml,将会在IE5.0+中显示正常,在网景Netscape6.2浏览器中将会出现错误。
<?xmlversion="1.0"encoding="UTF-16"?>
错误信息
当时用IE5.0或者更高版本浏览XML文档时,可能会遇到两中不同的编码错误:
在文本内容中发现一个非法字符(Aninvalidcharacterwasfoundintextcontent)。
如果你的XML文档和你的XML文档的编码格式不匹配就可能导致错误发生。通常情况是,XML文档包含一些“非英文”字符,并且使用了单字节编码的编辑器,而且没有在XML文档的声明中设置XML文档的编码格式。
不支持从当前的编码格式转换成另一种编码格式(Switchfromcurrentencodingtospecifiedencodingnotsupported)。
如果XML文档以Unicode/UTF-16编码格式保存,但是XML文档的声明中却设置了编码格式是一些单字节的编码(比如Windows-1252,ISO-8859-1或者UTF-8);或者XML文档以单字节编码格式保存,但是XML文档的声明中却设置了编码格式是一些Unicode/UTF-16的编码形式,这样两种情况都会导致错误发生。
结论
结论:在保存XML文档之前在XML文档的声明中设置文档的编码格式,我的一些关于避免错误发生的建议:
使用一种支持Unicode编码格式的编辑器。
确信你知道自己正在使用那种编码格式。
在XML文档中使用属性声明设置编码格式。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
编码编码就是转换Unicode字符为等价二进制表示的过程。XML处理程序读取一个XML文档时,它依赖于编码类型来编码文档。因此,我们需要在XML声明中指定编码类
在我们这个XML指南里,我们把焦点放在InternetExplorer5.0及其以后的版本上。Web站点上的XML许多应用程序都支持XML。我们主要研究Inte
主要功能:php中使用DOM类读取XML文件设计知识点:1、XML节点循环读取2、用iconv()函数实现编码转换,防止中文乱码holiday.xml文件如下复
当处理基于XML应用程序时,开发者经常需要建立XML编码数据结构。例如,Web中基于用户输入的XML状态模板,服务器请求XML语句,以及基于运行时间参数的客户响
实体有五种预定义的XML实体,HTML编码者应该熟悉。XML文档中的字符&、、"和'被分别表示为&、@lt;、>、"和'。XML很大程度上扩展了实体的