有关XML的编码问题
来源:互联网 发布:mysql union all 排序 编辑:程序博客网 时间:2024/06/10 16:36
由于XML文档中可以包含外语字母,如挪威语 ??? 或法语 êèé,因此要让你的XML分解器理解这些字母,就应该把XML文档存储成Unicode(统一的字符编码标准)。
1、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打开它,就会得到一个错误信息。
2、带有编码的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"?>
3、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 打开它,而不会得到错误信息。
4、带有编码的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"?>
5、错误信息
如果你试图向Internet Explorer 5中装载一个XML文档,你会得到两个不同的错误信息表示编码的问题:
在文本内容中发现了一个无效字符: 如果XML文档中的一个字符与编码属性不匹配,你就会得到这个错误信息。通常,如果你的XML 文档中包含外语字母并且文件是用记事本这样的单字节编码编辑器保存的,而且没有规定编码属性的话,就会得到这样的错误信息。从当前编码转换到不支持的指定编码: 如果你的文件保存为Unicode/UTF-16,但是编码属性指定了单字节编码,例如Windows-1252、 ISO-8859-1或UTF-8,你就会得到这样的错误信息。另外如果你的文档是用单字节编码保存的,但是编码属性指定了双字节编码例如UTF-16的话,你也会得到这样的错误信息。
结论
结论就是编码属性必须指定保存文档时所使用的编码。为避免这类错误,我的建议是: 总是将XML文件保存成没有任何编码信息的Unicode。使用一个支持Unicode的编辑器(Windows 2000 记事本就行),总是省略编码属性。
- 有关XML的编码问题
- 有关struts.xml的地址和中文编码乱码问题
- 有关MySql的编码问题
- 有关编码的一些问题
- j2me心得----有关编码的问题
- 有关apache mina框架的编码问题
- 让人想死的中文编码有关问题
- web请求编码的有关问题
- 解析XML的编码问题
- 关于xml的编码问题
- XML文件的编码问题
- XML文件的编码问题
- 有关XML文档排序的问题
- web.xml中有关路径的问题
- 向Cookie写入中文的有关编码的问题
- 在asp.net页面中的一些有关编码的问题
- 在asp.net页面中的一些有关编码的问题
- 有关表编码造成使用COLLATE database_default的问题
- 常用的eclipse插件
- 精
- 中层管理技能
- Initialize reference type static fields inline
- 谈非模态对话框的销毁
- 有关XML的编码问题
- 我的USB设备有问题
- 我就不信CSDN没有高人能做,悬赏5K求算法
- 住在我隔壁储藏室的大学刚毕业的小夫妻(上)
- 获取快捷方式的文件路径
- ArcEngine预定义的命令说明(9.1版本全集)
- initgraph:初始化图形系统
- 住在我隔壁储藏室的大学刚毕业的小夫妻(下)
- C/C++头文件一览