GBK GB2312 UTF-8 编码问题
来源:互联网 发布:广州文豆php培训学费 编辑:程序博客网 时间:2024/05/16 23:02
这是一个异常经典的问题,有无数的新手站长每天都在百度这个问题,而我,作为一个“伪老手”站长,在明白这个这个问题的基础上,有必要详细的解答一下。
首先,我们要明白,GB2312、GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码。只是对于我们中国人的网站来说,用这三种编码比较多。简单的说一下,为什么要用编码,在计算机内,储存文本信息用ASC II码,每一个字符对应着唯一的ASCII码。最初计算机是由美国发明的,他们也用的是键盘和上面的字母,所以他们的字符ASCII好解决。但是我们中国的就不同了,每个汉字要对应唯一的ASCII码。这样,就出来了国家制定的字符编码标准:GB2312、GBK等。其他国家,其他语言也有他们对应的编码标准。
GB 就是国标的意思,GB2312和GBK主要用于汉字的编码,就是GBK不仅支持简体中文还支持繁体而GB2312只支持简体中文,而UTF-8是全世界通用的。意思就是说,如果你的网页主要面对使用汉语的中国人的话,使用 GB2312和GBK非常好,文字储存体积要小,有一些优点。如果你的网页要面向世界的话,你再用GB2312和GBK作为网页编码的话,有些电脑上的浏览器没有这种编码,你的网页汉字内容就会变成无法识别的乱码。
它们通常用在网页的meta标签内,例如:<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />,表示这个页面使用的是GB2312编码。这个信息是给浏览器看的,浏览器会优先考虑使用从网页头部提取出来的编码信息对网页进行解码。当然,我们也可以强制浏览器使用某种编码解释网页,这样我们就看到了传说中的乱码。请看下图IE浏览器:
百度首页使用的是GB2312编码,我们可以看到现在是正常的。我们右击页面,选择“编码”->“其他”->“Unicode(UTF-8)”,意思就是强制浏览器使用UTF-8的编码方式解析页面,我们可以看到奇迹发生了:
百度页面上所有的汉字都变成了乱码。如果你的网页使用了GB2312编码,却被一台没有GB2312编码的电脑访问了,里面所有的汉字都成了乱码。如果你使用UTF-8编码,在没有汉字的电脑里,仍然可以正常显示,因为UTF-8是通用的编码,所有电脑都有。
所以,在编写网页时,尽量使用UTF-8编码。
小小的声明一下,以上就是潜行者M个人的理解,如果有什么不对,请高手指正!
- GBK GB2312 UTF-8 编码问题
- ANSI,UNICODE,UTF-8,GB2312,GBK)编码问题(转)
- utf-8 GBK gb2312字符编码详解
- 字符编码 GB2312,UTF-8,GBK,BIG5
- 关于编码UTF-8,GBK,GB2312
- GB2312、GBK、UTF-8编码的区别
- GBK、GB2312和UTF-8编码区分
- 字符编码 GB2312 GBK UTF-8 区别
- GBK、GB2312与UTF编码
- 编码问题 gb2312 utf-8
- UTF-8-GB2312-GBK
- UTF-8 GBK GB2312
- GBK、GB2312、UTF-8
- UTF-8>GBK>GB2312
- UTF-8 GBK GB2312
- 字符编码问题,UNICODE\UTF-8\UTF-16\UTF-32\UCS\ANSI\GBK\GB2312等乱七八糟的名词
- 字符编码问题,UNICODE\UTF-8\UTF-16\UTF-32\UCS\ANSI\GBK\GB2312等乱七八糟的名词
- 字符编码和python使用encode,decode转换utf-8, gbk, gb2312的问题
- C++构造函数调用顺序
- ecshop相关资料收集
- 移动产品开发注意点
- apidemo 学习 android 实现透明activity
- ORA-15260 diskgroup space exhausted Problem
- GBK GB2312 UTF-8 编码问题
- c++中的类对象指针、对象引用、this指针
- 银行卡的清分、对帐与清算
- U盘安装centos 6.3教程(超级详细图解教程)
- 求数组中数对的最大值
- log4net的用法
- JavaScript 获得参数1,还差多少能被参数2整除 返回相差数
- 移动应用具备功能
- curl参数大全