XML入门指南(15)XML编码

2016-02-19 17:19 2 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐XML入门指南(15)XML编码,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - Web开发 】

  

?xml version="1.0"? note from小奀/from to小林/to message晚上一起去火锅呀/message /note

  但是如果你用浏览器打开这个用记事本编辑过的XML文档,将会出现一个错误open it with IE 5.0。


在Windows 95/98 记事本中使用编码

  Windows 95/98 记事本编辑XML文件必须进行编码属性设置。

  为了避免发生错误,可以在XML文档声明中加上一个encoding属性,指明此XML文档的编码类型,但是不要使用Unicode编码。

  下面的编码类型不会导致错误,(用IE 5.0+浏览器观看), 并且汉字显示正常:

?xml version="1.0" encoding="gb2312"?

  下面的编码类型不会导致错误,(用IE 5.0+浏览器观看), 并且汉字显示正常:

?xml version="1.0" encoding="gbk"?

  下面的编码类型不会导致错误,(用IE 5.0+浏览器观看), 并且汉字显示不正常(乱码):

?xml version="1.0" encoding="windows-1252"?

  下面的编码类型不会导致错误,(用IE 5.0+浏览器观看), 并且汉字显示不正常(乱码):

?xml version="1.0" encoding="ISO-8859-1"?

  下面的编码类型不会导致错误,(用IE 5.0+浏览器观看),并且汉字显示正常:

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

  下面的编码类型会导致错误,(用IE 5.0+浏览器观看):

?xml version="1.0" encoding="UTF-16"?

使用Windows 2000 记事本

  Windows 2000 记事本可以以Unicode编码格式保存文件。

  Windows 2000 的记事本支持Unicode字符集。如果使用Win2000的记事本以Unicode的编码格式保存XML文档(请注意这里在XML声明中没有编码信息):

?xml version="1.0"? notefrom小奀/fromto小林/tomessage晚上一起去火锅呀/message/note

  下面这个文件; note_encode_none_u.xml, 在IE5.0+中将不会出现错误,但如果你使用网景Netscape 6.2,就可能出错。读者比较 note_encode_none.xml 和 note_encode_none_u.xml这两个文件,如果单独看他们各自的源文件,是没有区别的,但为什么一个能显示,一个不能显示呢?答案就是Unicode字符集。


Windows 2000 记事本编码

  Windows 2000记事本还可以以"UTF-16"编码格式保存文件。

  如果你在XML文档中声明了编码属性而又以Unicode编码格式保存文件,将可能发生错误。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  下面的代码将会导致错误 (用浏览器察看):

?xml version="1.0" encoding="windows-1252"?

  下面的代码将会导致错误 (用浏览器察看):

?xml version="1.0" encoding="ISO-8859-1"?

  下面的代码将会导致错误 (用浏览器察看):

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

  下面这个文件; note_encode_utf16_u.xml, 将会在IE5.0+中显示正常,在网景Netscape 6.2浏览器中将会出现错误。

?xml version="1.0" encoding="UTF-16"?

错误信息

  当时用IE5.0或者更高版本浏览XML文档时,可能会遇到两中不同的编码错误:

  在文本内容中发现一个非法字符(An invalid character was found in text content)。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  如果你的XML文档和你的XML文档的编码格式不匹配就可能导致错误发生。通常情况是,XML文档包含一些非英文字符,并且使用了单字节编码的编辑器,而且没有在XML文档的声明中设置XML文档的编码格式。 不支持从当前的编码格式转换成另一种编码格式(Switch from current encoding to specified encoding not supported)。

  如果XML文档以Unicode/UTF-16编码格式保存,但是XML文档的声明中却设置了编码格式是一些单字节的编码(比如 Windows-1252, ISO-8859-1 或者 UTF-8);或者XML文档以单字节编码格式保存,但是XML文档的声明中却设置了编码格式是一些Unicode/UTF-16的编码形式,这样两种情况都会导致错误发生。


结论

  结论:在保存XML文档之前在XML文档的声明中设置文档的编码格式,我的一些关于避免错误发生的建议:

使用一种支持Unicode编码格式的编辑器。 确信你知道自己正在使用那种编码格式。 在XML文档中使用属性声明设置编码格式。

来源:http://www.tulaoshi.com/n/20160219/1614921.html

延伸阅读
标签: Web开发
在这一节里,将要列出一些很重要的XML相关技术。这对理解和开发XML应用程序是很有帮助的。 XHTML - 可扩展HTML(Extensible HTML) XHTML 使用XML重新定义了HTML 4.01的语法。XHTML 1.0是HTML的下一个版本。更多的请参考我们的XHTML 指南。 CSS - 层叠样式表单(Cascading Style Sheets) CSS 样式单可以为XML文档添加显示信息。...
标签: Web开发
XML 命名空间提供了一种避免元素命名冲突的方法。 命名冲突 因为XML文档中使用的元素不是固定的,那么两个不同的XML文档使用同一个名字来描述不同类型的元素的情况就可能发生。而这种情况又往往会导致命名冲突。请看下面两个例子 这个 XML 文档在table元素中携带了水果的信息: table tr tdApples/td tdBananas/td /tr /table ...
标签: Web开发
如果使用IE5.0或者更高版本的浏览器,可以通过HTTP请求从服务器端获取XML数据。 浏览器请求 通过浏览器可以发送HTTP请求,从服务器端获取XML数据: var objHTTP = new ActiveXObject("Microsoft.XMLHTTP") objHTTP.Open('GET','httprequest.asp',false) objHTTP.Send() 下面的代码是在浏览器中显示从...
标签: Web开发
XML 文档中可以包含外语字母,如挪威语 ??? 或法语 êèé。要让你的XML分解器理解这些字母,就应该把XML文档存储成Unicode(统一的字符编码标准)。          bWindows 95/98 记事本       Windows 95/98 记事本不能将文件保存成Unicode 格式。你可以用Notepad 编辑和保存包含外语...
标签: Web开发
在我们这个XML指南里,我们把焦点放在Internet Explorer 5.0及其以后的版本上。 Web站点上的XML 许多应用程序都支持XML。我们主要研究Internet Explorer 5.X+ 对此有些人可能会抱怨,但是我们只想把事情简单化,在网络环境中这时我们所知道的唯一一个真实测试XML例子的方法。 XML Netscape 6 Netscape 6 支持 XML。 在...

经验教程

164

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部