XML文档可以包含外文字符比如挪威语或者法语(中文当然也可以!这一部分还是不能照原文翻译,下面有些内容是我自己写的)

为了让你的解析器能够明白这些字符,你必须在XML文档中统一的字符编码标准。

--------------------------------------------------------------------------------

Windows 95/98 记事本
Windows 95/98 记事本不能以Unicode的编码格式保存文件。

可以使用记事本来编辑和保存包含了外文字符的XML文档 (比如:挪威语或者法语或者中文)

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

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

--------------------------------------------------------------------------------

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

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

下面的编码类型不会导致错误,, 并且汉字显示正常:

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

下面的编码类型不会导致错误,, 并且汉字显示正常:

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

下面的编码类型不会导致错误,, 并且汉字显示不正常(乱码):

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

下面的编码类型不会导致错误,, 并且汉字显示不正常(乱码):

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

下面的编码类型不会导致错误,,并且汉字显示正常:

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

下面的编码类型会导致错误,:

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

--------------------------------------------------------------------------------

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

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

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

--------------------------------------------------------------------------------

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

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

下面的代码将会导致错误:

<?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)。

如果你的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文档中使用属性声明设置编码格式。

更多相关文章

  1. 使用XSL和ASP在线编辑XML文档的代码详解
  2. 应用名称访问XML文档的代码案例详解
  3. 详解xml文档正确格式的示例代码
  4. 应用CSS转换XML文档的代码详解
  5. java对象转换为xml格式的示例代码分享
  6. XML文档类型声明
  7. 应用CSS转换XML文档的示例介绍
  8. 分享一个利用Ajax传递Xml文档的方法
  9. 如何实现XML文档和JTree之间转换

随机推荐

  1. Android 常用样式设置
  2. Android学习之文件存储
  3. 写在前面
  4. 关于Edittext的一些事情
  5. android EditText 属性
  6. Android设置弹出键盘与View的交互方式[学
  7. Android开发新手学习总结(一)——使用And
  8. 关于华为P10(Android 8.0系统)出现的一个
  9. Android监听键盘弹出收起
  10. Android之collection(集合)