如题~ 高手能不能详细说明下它们的区别!

解决方案 »

  1.   

    简单的说 UTF-8包含了很多世界范围内的语言编码(相当于一个大字库) 比如日文 韩文 都可以用。GBK和GB2312只是中文的,相当于包含的汉字个数的多少。为了方便还是用UTF-8比较好。
      

  2.   

    GBK字库要比GB23121大一些,支持繁体,
    http://www.cppblog.com/bidepan2023/archive/2007/02/12/18691.aspx
    看下这个吧
      

  3.   

    区别网上有很多,自己查一下吧,编码格式不一样,支持的字符不同,简单说一下原理
    字符串都是unicode码,包括英文,汉字...其他字符
    unicode可以被转化为字节(byte),如何转换呢,就通过gbk、utf-8、gb2312等编码方式。当把字节转换回字符串的时候,也要用相应的编码方式进行转换。
    比如客户端把unicode码通过utf-8转换为二进制流(也就是字节byte),而到了服务器端用gbk编码来把这个二进制流转换为字符串(unicode)的时候,就会出现乱码。必须也要用相应的编码方式进行转换。         gbk(encode)                  gbk(decode)
    unicode---------------->byte[]------------------------------>unicode
    String                 二进制流                               String
      

  4.   

    不知道你想了解到什么程度。字符编码非常复杂,我感觉很难说清楚的。GBK 和 GB2312 是字符集的名称,而 UTF-8 是 Unicode 字符集用于传输的编码格式之一。
      

  5.   

    UTF-8 为什么叫 UTF-8?GBK 为什么叫 GBK?gb2312 为什么叫 gb2312? 
      

  6.   

    通用转换格式UTF(Universal Transformation Format)
    UTF-8是UNICODE的一种变长字符编码GBK: 汉字国标扩展码,基本上采用了原来GB2312-80所有的汉字及码位,
    并涵盖了原Unicode中所有的汉字20902
    GBK编码是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准GB 2312或GB 2312-80是一个简体中文字符集的中国国家标准
    GB 2312标准共收录6763个汉字
      

  7.   

    我想上面几位说的很清楚了。
    没有多语言要求就用gbk,如果有多语言要求就用utf-8
      

  8.   

    GBK 是 GB2312 的扩展集,因此称为 GBK,K 是“扩”拼音的首字母。关于汉字的字符集有:GB2312、GB13000/ISO10646、GBK、GB18030,其中 GBK 是行业标准,其他的是国家或国际标准,
    其中 GB18030 是强制性国家标准。
      

  9.   

    区别很简单,不同的字符集。什么叫字符集,其实就是一张对照表。"啊"字对应UNICODE编码就是"554A",对应的GBK编码是"B0A1".
    什么是对照表呢,简单举个例子,就是班级的点名册,"张三"对应10号。计算机不能存储"张三",就存储个"10",取出一个10,按对照表一查,返回一个"张三"。
    但是在全学校的点名册里,"张三"对应15号。不同的点名册就是不同的字符集。现在你把"10"存进去了,取出来后,按照班级点名册取出了"张三",很正确,如果用了全学校的点名册,返回给你个外国人,假设你不认识英文,你就觉得乱码了,其实没乱,你可以把它返回成10,再用班级点名册去对照,"张三"不就出来了。注意:如果全学校的点名册里没有10对应的人,按照约定就返回给你"????",这个时候才真的乱码了,返回不了了。不同的点名册,就是不同的字符集。GB2312是一个点名册,后来班里又插班进来俩学生,GB2312加俩学生,老师说,点名册不一样了,换个名吧,叫GBK好了。中国有个学生叫"张三",在中国是"10"号,后来出国了,联合国给他个号"20"号,一个GBK,一个UTF8,但都是一个人,对应不同的号而已。ps:UTF-8是UNICODE的变种,从UNICODE编码可以计算出一个字对应的UTF-8编码。
      

  10.   

    问下,utf-8与gb2312 两个字符集如何映射的?困惑中,求教。。
      

  11.   

    好久之前的帖子了,不过我最近遇到应该是每个新手可能都有得问题,使用utf-8编码,在命令行下插入中文报错,通过通过mysql GUI 插入中文数据,查询之前 set names gbk , 查询正确显示!不太懂,不过我猜如果通过脚本插入,脚本显示应该会是乱码!