• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >XML > XML指南——XML编码

XML指南——XML编码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了XML指南——XML编码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
  
XML文档可以包含外文字符比如挪威语或者法语(中文当然也可以!这一部分还是不能照原文翻译,下面有些内容是我自己写的)
为了让你的解析器能够明白这些字符,你必须在XML文档中统一的字符编码标准。



Windows 95/98 记事本
Windows 95/98 记事本不能以Unicode的编码格式保存文件。
可以使用记事本来编辑和保存包含了外文字符的XML文档 (比如:挪威语或者法语或者中文)
<?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编码。 
下面的编码类型不会导致错误, 并且汉字显示正常:
<?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>


下面这个文件; 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编码格式保存文件,将可能发生错误。
下面的代码将会导致错误:
<?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文档中使用属性声明设置编码格式。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11如何建立一个 XML 的开发环境
  • 2017-05-11了解WEB页面工具语言XML(一)产生背景
  • 2017-05-11XMLHTTP资料
  • 2017-05-11概述IE和SQL2k开发一个XML聊天程序
  • 2017-05-11在服务器端的XSLT过程中的编码问题
  • 2017-05-11SXNA RSS Blog 聚合器程序
  • 2017-05-11XSLT轻松入门第一章:XSLT的概念
  • 2017-05-11XML相关技术资料
  • 2017-05-11XML加ASP实现网页“本地化”
  • 2017-05-11对XML数据使用XMLConvert

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • XML卷之实战锦囊(3):动态分页
    • XML轻松学习手册(二):XML概念
    • XML五则技巧总结
    • 三十分钟掌握STL-教程
    • 使用XSL将XML文档中的CDATA注释输出为HTML文本
    • rss 使用规范
    • 使用javascript+xml实现分页
    • xml 转义字符
    • XML经典问答
    • 概述IE和SQL2k开发一个XML聊天程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有