开发网站 您会选择什么字符编码?
有关 Web 字符编码的问题,已经是老生常谈。今天看到 一峰 兄弟和 Lunatic Sun 不谋而合的谈到有关 UTF-8 的使用现状,也谈谈我的看法。
上图是 Google 根据近年 Web 页面编码趋势的一个总结。我很欣喜的看到 UTF-8 编码已经成为了主流,而犹如 一峰 兄弟所言,让人堪忧的是中文字符编码还是呈现很平稳的趋势,这说明目前 UTF-8 编码并没有在中文网站中推广开来。
上图是 Google 根据近年 Web 页面编码趋势的一个总结。我很欣喜的看到 UTF-8 编码已经成为了主流,而犹如 一峰 兄弟所言,让人堪忧的是中文字符编码还是呈现很平稳的趋势,这说明目前 UTF-8 编码并没有在中文网站中推广开来。
究其原因,本人认为会有如下几点:
第一,中文编码(无论是 GBK、GB2312、GB18030 等)都变成了“传统”,毕竟这是 中文 的编码。开发者不愿意在字符编码这块花太多的心思。
第二,由于早期项目的原因,不得不继续使用 GBK 等中文编码。
我曾经就遇到过这样的一个项目,当时我很奇怪他们为什么不用 UTF-8,因为他们面对的客户不仅仅是国内用户。而解决这一方案的办法就只能是使用非常劳累的手段,但这是指标不治本的办法。虽然最后,在本人的一再坚 持下,最后还是转成了 UTF-8 编码,但相信国内还有很多项目都会碰到类似的问题。
第三,开发工具方面的支持,尤其是国内的一些产品。从根本上说,除了基本的思想意识以外,还有就是开发工具的问题。或许有一天,开发者相关的开发工具都默认的就是 Unicode 的话,这样转换的成本就会非常的低。
第四(感谢小马补充),流量大、文字多的中文站点通常都会使用 GB2312,原因很简单,页面下载量会比 UTF-8 小(GBK 编码只需要两个字节,而 Unicode 需要三个或者以上)。
那么,我经常使用的些主要的中文站点,目前在使用什么编码呢?下面是一个不完全的列表,供大家参考一下(以页面 meta 标签的 Content-type 为准)。
淘宝 - GB2312
支付宝 - GB2312
口碑 - GBK
中国雅虎 - GB2312
163 - GB2312
新浪 - GB2312
搜狐 - GB2312
豆瓣 - UTF-8
Yupoo - UTF-8
谷歌 - UTF-8
...
从上述的站点看来,目前国内一般门户类型的站点基本上都是 GBK 等编码,而类似 豆瓣、Yupoo 这样的新兴 “Web2.0 式站点”已经开始尝试 UTF-8 。在我看来,Unicode 在中文站点的推广,任重而道远。
那么接下来,在您以后的项目中,您会选择什么字符编码?
作者:GraceCode