关于 中文编码(转)
以下内容纯属吹牛, 仅仅为了展示FOB上的吹牛水平:
1. 先说编码格式 常见的是 ASCII, GB2312 , GBK, BIG5, ISO-8859-1 ....
1) ASCII 是最基本的了, 将26个英文字母, 英文标点符号等 转化为 计算机能认识的编码
像字母 A 对应的编码就是 65,
ASCII 最大的限制就是 它只有 256个空位, 所以放下英文、标点什么的还凑合, 要放常用字都有6千的中文, 就不行了。
2) 计算机是外国人发明的, 人家才不管你的中文呢, 所以中国没办法, 政府组织大家弄了个能显示中文的编码 GB2312, (GB就是国标的意思) ; 台湾人弄的显示中文的编码就是 BIG5, 只能显示繁体
3) GB2312 更准确的名字是 GB2312-80, 表示是80年制定的标准吧
; 汉字是在太多了, 很快发现GB2312 的空位也不够用了, 国家又在1995年制定了 GBK 标准(GBK就是国标扩展,千万别看到字母就只会用E文套啊。。), 最近一次发现少数民族的字符也要编码,GBK不够用了, 制定了 GB18030 标准。 参考自《中文编码规则一网打尽》http://hi.baidu.com/cuifenghui/b ... a91e1c377abe31.html
注: 这系列的新编码都会向下兼容旧编码, 大致意思就是 旧编码中的对应关系, 在新编码中不变, 但新编码中的新字符,在旧编码中那也肯定找不到, 这是乱码产生的一种原因。 这种乱码的表现形式就是 "?" , 即你这个编码,我不晓得怎么解, 就显示个"?", 忽悠一下你算了。 (这个也是我忽悠的。。。)
4) 话说中国强大了,老外终于发现世界上除了26个字母外, 还有中文、日文、韩文。。。。万恶的资本主义们为了向所有的第三世界落后国家兜售他们的软件, 制定了 UNICODE 编码; 他们的想法就是用这个编码集来包括地球上所有的字符, 英文全称是: "Universal Multiple-Octet Coded Character Set",简称 UCS, 俗称 "UNICODE"; 据说最新的编码集可以容纳21亿个不同的字符, 可以用到银河联邦成立的时候。 参考自 《字符编码详解及由来(UNICODE,UTF-8,GBK)》http://www.cppblog.com/zhaoyg/archive/2010/03/31/111154.aspx
2. 再说UTF - 8
UTF - 8 学术上不算一种编码格式, 它全称 UCS Transformation Format, 是用来在网络上传输Unicode的格式,他可以用最小的数据量来传输英文, (仅限英文,要是用来传中文,它还费流量些, 中文又被无视了。。。)
到此名词解释完毕。
正常的网站编解码过程 : 1. 用户浏览器请求你的网页,(在请求消息里附带客户端支持的编码格式,)
。。。。。 这个有点说不清了。。。
总之产生乱码就两种情况: 1. 传过来的编码 找不到对应的字符, 显示为 "?"
2. 你用老外的方法编码, 我用中国的方法解码, 现象一般为满屏的不认识的文字, 或者网页为白板。
针对楼主的情况分析是这样的: 因为世界上第一个编码集是 ASCII, 所以后产生的所有编码方式都向下兼容 ASCII, 理论上只要楼主的网站为全英文的(不能有全角的符号!! 全角符号算中文编码!), 就不会出现乱码。
验证方法是: 随便找个英文网站, 更改它的字符编码, 似乎都不会变乱码~![关于 中文编码(转) - 魑魅魍魉福 - 魑魅魍魉HOME](http://bbs.fobshanghai.com/images/smilies/victory.gif)
1. 先说编码格式 常见的是 ASCII, GB2312 , GBK, BIG5, ISO-8859-1 ....
1) ASCII 是最基本的了, 将26个英文字母, 英文标点符号等 转化为 计算机能认识的编码
像字母 A 对应的编码就是 65,
ASCII 最大的限制就是 它只有 256个空位, 所以放下英文、标点什么的还凑合, 要放常用字都有6千的中文, 就不行了。
2) 计算机是外国人发明的, 人家才不管你的中文呢, 所以中国没办法, 政府组织大家弄了个能显示中文的编码 GB2312, (GB就是国标的意思) ; 台湾人弄的显示中文的编码就是 BIG5, 只能显示繁体
3) GB2312 更准确的名字是 GB2312-80, 表示是80年制定的标准吧
![关于 中文编码(转) - 魑魅魍魉福 - 魑魅魍魉HOME](http://bbs.fobshanghai.com/images/smilies/sweat.gif)
注: 这系列的新编码都会向下兼容旧编码, 大致意思就是 旧编码中的对应关系, 在新编码中不变, 但新编码中的新字符,在旧编码中那也肯定找不到, 这是乱码产生的一种原因。 这种乱码的表现形式就是 "?" , 即你这个编码,我不晓得怎么解, 就显示个"?", 忽悠一下你算了。 (这个也是我忽悠的。。。)
4) 话说中国强大了,老外终于发现世界上除了26个字母外, 还有中文、日文、韩文。。。。万恶的资本主义们为了向所有的第三世界落后国家兜售他们的软件, 制定了 UNICODE 编码; 他们的想法就是用这个编码集来包括地球上所有的字符, 英文全称是: "Universal Multiple-Octet Coded Character Set",简称 UCS, 俗称 "UNICODE"; 据说最新的编码集可以容纳21亿个不同的字符, 可以用到银河联邦成立的时候。 参考自 《字符编码详解及由来(UNICODE,UTF-8,GBK)》http://www.cppblog.com/zhaoyg/archive/2010/03/31/111154.aspx
2. 再说UTF - 8
UTF - 8 学术上不算一种编码格式, 它全称 UCS Transformation Format, 是用来在网络上传输Unicode的格式,他可以用最小的数据量来传输英文, (仅限英文,要是用来传中文,它还费流量些, 中文又被无视了。。。)
到此名词解释完毕。
正常的网站编解码过程 : 1. 用户浏览器请求你的网页,(在请求消息里附带客户端支持的编码格式,)
。。。。。 这个有点说不清了。。。
总之产生乱码就两种情况: 1. 传过来的编码 找不到对应的字符, 显示为 "?"
2. 你用老外的方法编码, 我用中国的方法解码, 现象一般为满屏的不认识的文字, 或者网页为白板。
针对楼主的情况分析是这样的: 因为世界上第一个编码集是 ASCII, 所以后产生的所有编码方式都向下兼容 ASCII, 理论上只要楼主的网站为全英文的(不能有全角的符号!! 全角符号算中文编码!), 就不会出现乱码。
验证方法是: 随便找个英文网站, 更改它的字符编码, 似乎都不会变乱码~
![关于 中文编码(转) - 魑魅魍魉福 - 魑魅魍魉HOME](http://bbs.fobshanghai.com/images/smilies/victory.gif)