xml文档使用utf-8编码中文出现错误

常见字符集介绍

简体中文:GBK,GB2312。

繁体中文:BIG5。

西欧字符:ISO8859-1。

通用国际编码:Unicode。

还有一种常用的UTF-8

Unicode与UTF-8区别

unicode是一种全球通用的字符集,这种字符集号称可以表示地球上的任何文字。实际上,unicode已经开始取代ascii和lation-1字符集。这种字符集不仅可以表示绝大部分国家的文字,而且提供了一个全面的数学与技术符号集,用于简化科学信息交换。而utf-8则是一种简便的、向后兼容的字符集,它使得那些以ascii为字符集而设计的操作系统,如unix或linux,也可使用unicode。既然utf-8兼容unicode那么utf-8应该兼容中文,那么我的题目是不是错了呢?

xml如果不适用encoding指定编码方式,那么默认使用utf-8,的确,utf-8兼容unicode,也确实对中文有很好的支持,但是需要指出的是:当我们使用文本编辑工具保存xml文档时也涉及到字符集问题。众所周知,磁盘上所有的文件都是以二进制形式保存,这意味着保存文件时需要将文件中的字符转换为二进制码,这个过程叫编码,然后再保存。类似的,当使用文本工具读取文本文件时,需要将二进制码饭转换为字符(解码)。

文本文件保存、读取时分别使用字符集进行编码和解码。因此,为了正常读取文本文件内容,保存、读取文件时必须使用相同的字符集。如果xml使用utf-8字符集,表示解码也就是读取时使用的字符集,该字符集必须和保存文件时所使用的字符集一致。简体中文windows平台保存文件默认使用gbk字符集,所以使用utf-8解码有中文的xml文档会报错的。同理其他类型文档乱码也是一样的问题。

相关文章

引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而产生的。具体...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满...
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原文”,可查看...
一、xml与xslt 相信所有人对xml都不陌生,其被广泛的应用于数据数据传输、保存与序列化中,是一种极为强...