常见字符集介绍
简体中文: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文档会报错的。同理其他类型文档乱码也是一样的问题。