« 巧用Photoshop进行科学研究 | 首页 | CSS中背景图片定位方法 »

utf-8编码已经成为主流


今天,我在网上看到一张图,据说是来自Google内部的统计——世界上所有网页编码统计图。

bg2008050601.gif

第一眼看到这张图,我感到很振奋,utf-8编码终于成为了主流。

可是再看第二眼,顿时就泄气了。因为份额下降的是ASCII和ISO 8859-1这两类编码,而GB类的中文编码份额几乎保持不变。那样的话,utf-8编码份额的上升,其实没有多大实际意义,因为ASCII和ISO 8859-1本身就是同utf-8兼容的,转不转化无所谓。

GB类的中文编码,才是真正需要被淘汰的。除了最基本的ASCII码,它同所有其他编码都不兼容,为互联网应用带来无尽的麻烦。许多很简单的问题,就是因为要考虑语言转化,而变得无比麻烦。

可是,直到今天,我们国家主流的门户网站,全部都是GB2312编码,这让人无法理解。我怀疑是不是有什么法规,规定一定要这样做。如果真是这样,那么实在是太愚蠢了。

P.S.

想了解字符编码基本知识的朋友,可以参考我以前的笔记

(完)

相关内容

随机文章

  • 2005.12.23: 关于幸福,你知道多少?(下)
    5。职业妇女 One of the questions in the survey asked people if they suffered from headaches, sleeplessness, worries, loneliness, etc.-- since people who do consider themselves less happy than those won don't. Married women who do not work are much more likely to have these kinds of symptoms," the book says. "Employed wives are less anxious and worried, and less likely to feel worthless than housewives." 这一段是讲一份充实的工作的重要性。
  • 2007.03.30: 李胜利之死
    几天前,新华社播发了一则报道。100多字的导语非常平静,但是仔细一读,却是一桩骇人听闻的事件。

功能链接

广告


 


评论

22 说:

中文utf8也麻烦,还有unicode-8,unicode-16,unicode-32,ibm14401(不记得数字了,随便写个)什么的大字符集

即便是中文gb2312,实际上windows上的gb2312就是gbk

LI Daobing 说:

iso8859-1 与 UTF-8 不兼容

atlas 说:

那台湾的Big5和香港的编码与UTF兼容吗?

aa 说:

引用atlas的发言:

那台湾的Big5和香港的编码与UTF兼容吗?

当然不,Big5是80年代的产物了,unicode是90年代的东西

Ruan YiFeng 说:

引用aa的发言:


当然不,Big5是80年代的产物了,unicode是90年代的东西

big5也属于应该被淘汰的编码。

引用LI Daobing的发言:

iso8859-1 与 UTF-8 不兼容

我写得不准确,应该是iso 8859-1与Unicode兼容。

Fwolf 说:

隐约记得gb2312作为国标编码,是有规定要求在某些地方必需要使用的
(希望下一位来补充)

donews 说:

阮先生能不能够处理一下多维新闻的全文RSS乱码问题。

我在第一时间就订阅了阮先生制作的多维和德国之声两个全文RSS。但现在发现多维RSS的乱码很严重,不知道有没有办法解决。

... 说:

我猜。。。gb2312普及是因为dreamweaver默认设置的字符集就是这个。。。。

Ruan YiFeng 说:

引用donews的发言:

阮先生能不能够处理一下多维新闻的全文RSS乱码问题。

我在第一时间就订阅了阮先生制作的多维和德国之声两个全文RSS。但现在发现多维RSS的乱码很严重,不知道有没有办法解决。

服务器端故障,暂时无法解决,也不知道会持续多久。很抱歉。

Ruan YiFeng 说:

引用Fwolf的发言:

隐约记得gb2312作为国标编码,是有规定要求在某些地方必需要使用的
(希望下一位来补充)

我记得有一篇文章里说,有关部门要求微软将GB编码作为默认中文编码,否则不允许windows简体中文版在国内上市。

伊水笑 说:

UTF-8的编码还是不错滴……
应该成为主流啊。

clino 说:

gb 码至少有个好处,传输和存储所占的空间比 UTF8 会少一些

ppip 说:

这个还是需要时间的,更需要的是国际化的视野。

如果只针对国内用户,GB又如何呢?

Ruan YiFeng 说:

引用ppip的发言:

如果只针对国内用户,GB又如何呢?

不是只考虑网页浏览的,还有feed的编码。很多时候会用feed的聚合,编码不一致就很麻烦。

xun 说:

对于中文字符远远超过英文字母的内容,UTF8岂非比原始的Unicode更浪费存储空间

徐保才 说:

我想用uft-8编比较好,原因之一是学习PHP语言中有许多程序是要求用这个编的,用GB会出现小方框,可是我找了许多输入法,只有南级星是支持UFT-8的,输入里面可以,但只显示一半字,无耐。

杨曦 说:

前几天我刚刚被文字乱码搞的郁闷。。。项目最好用utf-8统一最好,放到哪里都不会出现乱码,页面文件都要utf-8,js,css包括java语句里面只要有response的都要设置成utf-8输出

杨曦 说:

博主,你的这个按钮很搞笑哦。。。“

还有你检测一下,如果是同一个session 就不用让人家重复的输入大名,电子邮件,直接记住就好了,当session关闭的时候你清空一下

flyinflash 说:

1、如果是流量大的网站,使用非UTF8主要是因为流量,流量是要算钱的,UTF8一个字1符是其它的两到三倍,像中文这类亚洲字符,自然大多数情况是三倍以上

如果一个网站一年的网费是500万,使用UTF8就是1500万……


2、其它流量不咋样的网站

主要就是TMD的WINDOWS。国内一群猪都是使用TMD的WINDOWS作教育工具,应试也是TMD的WINDOWS,WINDOWS没有以UTF8为核心的概念,所以那些无辜的学生认识UTF8的重要性概率大大降低。

使用LINUX的学生就不会,LINUX下几乎什么都是UTF8的,一来国际化省事,本地化也省事。

flyinflash 说:

请把上面的“TMD”去掉

spider 说:

不用把 TMD 去掉,那些蠢猪该骂

redspider 说:

引用flyinflash的发言:

1、如果是流量大的网站,使用非UTF8主要是因为流量,流量是要算钱的,UTF8一个字1符是其它的两到三倍,像中文这类亚洲字符,自然大多数情况是三倍以上

如果一个网站一年的网费是500万,使用UTF8就是1500万……

没这么夸张,从 cp936 转到 utf-8 流量大约会增加 30%,如果一个网站按流量计费的话,500W最多也只是增加到 660W。不过现在有网站是按流量计费的么?

您的大名 说:

utf8是对中文等象形文字的歧视
英文只用一个字节,
法文等一些用两个字节
中文最少三个字节。
用gb2312可以大量降低存储和宽带开销

koaqiu 说:

引用您的大名的发言:
utf8是对中文等象形文字的歧视英文只用一个字节,法文等一些用两个字节中文最少三个字节。用gb2312可以大量降低存储和宽带开销
我不清楚 utf-8里面中文是不是真的必须要3个字节

但是我知道中文必须要两个字节才能表示完整的

kopision 说:

引用您的大名的发言:

utf8是对中文等象形文字的歧视
英文只用一个字节,
法文等一些用两个字节
中文最少三个字节。
用gb2312可以大量降低存储和宽带开销

搞笑了,有利于国际化的UTF-8居然被你说成是歧视,真有才啊

林海枫 说:

UTF-8只是Unicode编码方式中的一种,与UTF-16相比,它的最小编码单位是字节,而UTF-16编码的最小单位是双两节。UTF-8最大的好处是可以与ASCII兼容,因此,英文字母在ascii和utf-8中的数值是一样的,用一个字节的储存空间就可以了,UTF-8事实上就是这样的。千万别和我说需要两个字节。而在中文根据UTF-8的编码规则,要用三个字节来储存,千万别和我说需要两个字节。

而UTF-16是以双字节为编码单位的,因为无论英文和中文,至少需要2个字节的储存单位,而事实上,他们都是两个字节来存放(这并不代码所有的unicode字符仅需要两个字节就可以了,有一些是需要4个或更大)。

对于Unicode编码方式来说,如果内容为英文,采用 UTF-8编码方式最省空间,每个字符只需要一个字节就可以了。如果内容为中文,采用UTF-16编码方式最省空间,每个中文文字需要两个字节(相反在UTF-8中需要三个字节)。

UTF-8和UTF-16都是Unicode的编码方式,可以相互转换。gb2312也是国际编码,应该可以与Unicode完全兼容,换言之可以转换。
故对于中文网页来说,应该使用UTF-16, 这样空间占用最少,而且支持Unicode的浏览器都可以正确转换;我想gb2312也一样(但未证实)

因为对于中文网页,应使用UTF-16或gb2312,而不应该使用UTF-8

其实Unicode的编码方式有好几种,除了上面两种外。之所以有好几种,是根据不同语言文字的需要而提出的。

华晨 说:

我也在学习网站制作,也被utf-8编码困扰着

我的大名 说:

utf-8汉字多一字节也没什么吧?本来汉字就多,事实上,gb18030里双字节还不够用了,甚至有用更多字节的。而utf-16有字节序问题,utf-8则没有。
另外楼上有位朋友还扯到什么歧视上去了。这有点好笑了。人家英文有几个字母呀?难道你想所有汉字用一个字节来表示?

您的大名 说:

博主很搞笑,GB是“国标”的意思,国家不用国标用什么?有什么难以理解的?

按了两下 说:

希望全世界统一编码啊

mark 说:

引用我的大名的发言:

utf-8汉字多一字节也没什么吧?本来汉字就多,事实上,gb18030里双字节还不够用了,甚至有用更多字节的。而utf-16有字节序问题,utf-8则没有。
另外楼上有位朋友还扯到什么歧视上去了。这有点好笑了。人家英文有几个字母呀?难道你想所有汉字用一个字节来表示?

GB18030兼容GB2312,常用字都是双字节,只有生僻字采用4字节。而UTF-8汉字全部都是3字节。并且unicode在BMP上对汉字的确有“歧视”,不遵循汉字的习惯而是以老外的方式来组织。

mark 说:

引用林海枫的发言:

UTF-8和UTF-16都是Unicode的编码方式,可以相互转换。gb2312也是国际编码,应该可以与Unicode完全兼容,换言之可以转换。
故对于中文网页来说,应该使用UTF-16, 这样空间占用最少,而且支持Unicode的浏览器都可以正确转换;我想gb2312也一样(但未证实)

因为对于中文网页,应使用UTF-16或gb2312,而不应该使用UTF-8

其实Unicode的编码方式有好几种,除了上面两种外。之所以有好几种,是根据不同语言文字的需要而提出的。

兄弟没开发过网站吧。还没听说谁用UTF-16做网页编码的——UTF-16不兼容ASCII,所以不可能作为网页传输编码。倒是GB18030比较适合中文网页——拉丁文是1字节,CJK基本都是2字节,生僻字4字节。

mark 说:

引用Ruan YiFeng的发言:
我记得有一篇文章里说,有关部门要求微软将GB编码作为默认中文编码,否则不允许windows简体中文版在国内上市。


有关GB18030编码来由的传说

简单说一下我对这段历史的理解吧,说错了欢迎大家指正。
1,GB2312是很老的东西了,早就发现不够用了。
2,94年(还是之前)国家推出了建议性标准gb13000,这个标准其实就是utf-8标准(除了名字,完全一样),同时也建议微软公司采纳。--(据说是1993年,GB13000,应该是ISO10646)
3,微软借口说gb18000还不成熟,为了取得中国市场的垄断地位,自己搞了一套汉字标准,于是它就随着win95和office之类的流行起来了,国家看生米已经煮成了熟饭,只好把这套标准定为国标GBK标准。--(其实只是指导性标准,并非强制性,GB18030是强制性标准)
4,微软到了99年(前后吧),又说GBK已经落伍了,现在流行utf-8标准,准备全盘转换成utf-8,这些把有关部门惹怒了。NND,当年我们推utf-8你说不成熟,自己搞了一套,现在赚得盆满钵满了又自己说要推utf-8了,你丫微软分明就没把政府放在眼里。
5,于是政府怒了,强制推行gb18030标准(这个标准前面兼容GBK,其他码位兼容utf-8),算是过渡标准吧。要求微软强制执行,否则产品不得在大陆买。于是基本搞死了微软的WindowsMe,差点搞死了Office2000(据说发行前几个月,微软除了改字符编码就没干其他什么事情)--(确实,WinMe是我认为的最差的Windows版本,而office2k也是前不着村,后不着店,前后兼容性都差)
6,由于以上历史原因,现在就是GB2312,GBK,GB18030,UTF-8并存了。
7,如果不是万恶的微软,我们早就用上UTF-8了。
8,所以说微软和政府关系一直很僵,不是说着玩的,微软太目中无政府了。
9,以上是我从其他地方看来的,可能记得不是太真切了,说的不对请大家指正。
【按】这是在水母Linux版上的讨论所引发的。只有用Linux的普通用户才会关心编码问题,因为选择太多了,选哪个好确实是个问题。从长远看,应该选 utf-8,可从一般使用角度来看,GBK足够也适合以前的文件现状,并且也可以同UTF-8编码的人交流,程序支持就是了。所以我目前还是用GBK。也许应该用Utf-8。香港政府倒是在推广ISO10646的,还有免费字体供应。


http://tech.it168.com/knowledgebase/Articles%5C1%5C5%5C5%5C155d3300879cd9a41b90c4d7ff8c1c1b.htm

我要发表看法