XML编码规则整理,值得收藏
来源:互联网 发布:张予曦真人好看吗 知乎 编辑:程序博客网 时间:2024/04/27 10:10
W3C定义了三条XML解析器如何正确读取XML文件的编码的规则:
1,如果文挡有BOM(字节顺序标记,一般来说,如果保存为unicode格式,则包含BOM,ANSI则无),就定义了文件编码
2,如果没有BOM,就查看XML声明的编码属性
3,如果上述两个都没有,就假定XML文挡采用UTF-8编码
有了这三条规则,那这个规则就清楚多了。
首先,XML解析器根据文件的BOM来解析文件;如果没找到BOM,由用XML里的encoding属性指定的编码;如果xml里encoding没指定的话,就默认用utf-8来解析文档。然后又可以推出,BOM和ENCODING都有的话,则以BOM指定的为准。
为了避免发生错误,可以在XML文档声明中加上一个encoding属性,指明此XML文档的编码类型,但是不要使用Unicode编码。
在ANSI下,下面的编码类型不会导致错误,并且汉字显示正常:
<?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"?>
1,如果文挡有BOM(字节顺序标记,一般来说,如果保存为unicode格式,则包含BOM,ANSI则无),就定义了文件编码
2,如果没有BOM,就查看XML声明的编码属性
3,如果上述两个都没有,就假定XML文挡采用UTF-8编码
有了这三条规则,那这个规则就清楚多了。
首先,XML解析器根据文件的BOM来解析文件;如果没找到BOM,由用XML里的encoding属性指定的编码;如果xml里encoding没指定的话,就默认用utf-8来解析文档。然后又可以推出,BOM和ENCODING都有的话,则以BOM指定的为准。
为了避免发生错误,可以在XML文档声明中加上一个encoding属性,指明此XML文档的编码类型,但是不要使用Unicode编码。
在ANSI下,下面的编码类型不会导致错误,并且汉字显示正常:
<?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"?>
0 0
- XML编码规则整理,值得收藏
- (整理)日期转换参数,值得收藏
- 值得收藏的网站,慢慢整理.
- 值得收藏的设计实用字体的8条规则
- 值得参考的技术站点(个人收藏 整理)
- 网友整理的Flex开源项目(值得收藏)
- 央视《家有妙招》整理版,值得永远收藏!
- mysql:环境配置安装<查找资料整理综合>,值得收藏
- web.xml规则经过整理总结如下:
- web.xml规则经过整理总结如下
- 值得收藏的BLOG
- 值得收藏的短信
- 客户端脚本,值得收藏...
- 值得收藏的代码
- 关于注册表---值得收藏
- 客户端脚本,值得收藏!
- 客户端脚本,值得收藏
- 好网址,值得收藏~
- jQuery笔记
- 追MM和Java的23种设计模式
- 快速简单地求负数的补码和求补码代表的负数
- Android退出程序(二)——利用广播机制
- mongodb集群shard中empty chunk的处理
- XML编码规则整理,值得收藏
- Nginx负载均衡
- nginx源码配置图解
- oozie-4.1.0 安装
- WebView回收资源的报错的解决方案----Error: WebView.destroy() called while still attached!
- Qt 3D的研究(四):指定渲染的材质以及效果
- ajax与后台交互
- 如何查看你的系统是legacy还是UEFI启动
- python学习笔记(1)基础知识