ASP编程 PHP编程 JSP编程 NET编程 CGI编程 XML编程 
Google adsense申请技巧本站核心代理域名注册主机业务 快速发布你的买卖域名买卖网站信息 1元注册 cn域名
站长每日新闻导读 √ ·推荐万网空间¥120元 150m 站长网:站长必上的网站网站联盟大全本站代理万网域名55空间120元
 2006-12-10 18:20:25

XML 编码

来源: 字体:[ ]

 

XML 文档中可以包含外语字母,如挪威语 ??? 或法语 㪃胩。要让你的XML分解器理解这些字母,就应该把XML文档存储成Unicode(统一的字符编码标准)。
     
  
   b>Windows 95/98 记事本
  
   Windows 95/98
记事本不能将文件保存成Unicode 格式。你可以用Notepad 编辑和保存包含外语字母(如挪威语和法语的??? 㪃胩)的XML 文档,
  
  
   < ?xml version="1.0"?>
  
   < note>
  
   < from>Jani< /from>
  
   < to>Tove< /to>
  
   < message>Norwegian: ???. French: 㪃胩< /message>
  
   < /note>
  
  
   但是如果你保存文件并用IE 5.0打开它,就会得到一个错误信息。
    
  
   b>带有编码的Windows 95/98 记事本
  
  
 Windows 95/98 记事本文件必须用编码属性保存。 要避免这个错误,你可以向你的XML声明中加上一个编码属性,但是不能使用Unicode
  
  
   这样的编码(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"?>
    
  
   b>Windows 2000 记事本
  
  
 Windows 2000 记事本可以将文件保存成UnicodeWindows 2000 中的记事本编辑器支持 Unicode。如果你选择要将这个XML文件保存成Unicode (注意文档中不包含任何编码属性):
  
  
   < ?xml version="1.0"?>
  
   < note>
  
   < from>Jani< /from>
  
   < to>Tove< /to>
  
   < message>Norwegian: ???. French: 㪃胩< /message>
  
   < /note>
  
  
   你可以用IE 5.0 打开它,而不会得到错误信息。
  
  
  
   b>带有编码的Windows 2000 记事本
  
  Windows 2000
记事本用"UTF-16"编码将文件保存为Unicode。如果你向保存为UnicodeXML文件中增加一个编码属性,windows 编码值就会产生一个错误。
  
  
   这样的编码(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"?>
  
    
   b>错误信息
  
  
 如果你试图向Internet Explorer 5中装载一个XML文档,你会得到两个不同的错误信息表示编码的问题:
  
  
在文本内容中发现了一个无效字符: 如果XML文档中的一个字符与编码属性不匹配,你就会得到这个错误信息。通常,如果你的XML 文档中包含外语字母并且文件是用记事本这样的单字节编码编辑器保存的,而且没有规定编码属性的话,就会得到这样的错误信息。
  
  
  
从当前编码转换到不支持的指定编码: 如果你的文件保存为Unicode/UTF-16,但是编码属性指定了单字节编码,例如Windows-1252 ISO-8859-1UTF-8,你就会得到这样的错误信息。另外如果你的文档是用单字节编码保存的,但是编码属性指定了双字节编码例如UTF-16的话,你也会得到这样的错误信息。
  
   结论
  
  
 结论就是编码属性必须指定保存文档时所使用的编码。为避免这类错误,我的建议是: 总是将XML文件保存成没有任何编码信息的Unicode。使用一个支持Unicode的编辑器(Windows 2000 记事本就行),总是省略编码属性。
  
  

上一篇:XML 编程简介
下一篇:XML 名字空间
 推荐教程
     
网站地图 - 域名注册续费虚拟主机代理 - 交易论坛 - 网站投稿 - 广告服务 - 帮助中心 - 联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved