快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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 记事本可以将文件保存成Unicode。Windows 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。假如你向保存为Unicode的XML文件中增加一个编码属性,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-1或UTF-8,你就会得到这样的错误信息。另外假如你的文档是用单字节编码保存的,但是编码属性指定了双字节编码例如UTF-16的话,你也会得到这样的错误信息。
     结论
  
     结论就是编码属性必须指定保存文档时所使用的编码。为避免这类错误,我的建议是: 总是将XML文件保存成没有任何编码信息的Unicode。使用一个支持Unicode的编辑器(Windows 2000 记事本就行),总是省略编码属性。
  
  


返回类别: 教程
上一教程: XML的十个基本特点
下一教程: 应用XML架构文件

您可以阅读与"XML 编码"相关的教程:
· XMLHTTP 乱码 的解决方式 (UTF8,GB2312 编码 解码)
· 两台服务器用XML 连接数据啊
· XML枚举一个节点的所有属性的方式
· 利用XSL和ASP实现XML文档在线编辑
· XMLHTTP资料
    微笑服务 优质保证 索取样品