浏览器正确理解和使用GBK及UTF-8(UTF-8 + BOM)网页编码

网页编码英文译为web page encoding。是在网页中指定其特定的字符编码格式的库。

 


GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。

GBK的文字编码是用双字节来表示的。即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包括所有中文字符,是国家编码,通用性比UTF8差,只是UTF8占用的数据库比GBK大。 



UTF-8:Unicode TransformationFormat-8bit,同意含BOM,但通常不含BOM。

是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包括全世界全部国家须要用到的字符,是国际编码。通用性强。UTF-8编码的文字能够在各国支持UTF8字符集的浏览器上显示。

假设是UTF8编码,则在外国人的英文IE上也能显示中文。他们无需下载IE的中文语言支持包。 


UTF-8版本号尽管具有良好的国际兼容性,但中文须要比GBK/BIG5版本号多占用50%的数据库存储空间,因此并不是推荐使用,仅供对国际兼容性有特殊要求的用户使用。

简单地说:对于中文较多的站点,适宜用GBK编码节省数据库空间。对于英文较多的站点,适宜用UTF-8节省数据库空间。 



GBK、GB2312等与UTF8怎样转换?GBK、GB2312等与UTF8之间都必须通过Unicode编码才干相互转换:GBK、GB2312——Unicode——UTF8。UTF8——Unicode——GBK、GB2312。使用Windows记事本的“另存为”,能够在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。

 



怎样让浏览器正确识别网页编码?一般在网页中都要有例如以下一句:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,指示此网页的字符集编码是GB2312。

(或者UTF-8) 


页面有时候指定了编码为什么有时会出现乱码?这可能是页面申明编码与文件本身编码不一致。很多其它时候是以错误编码打开页面然后保存导致的。或者是用某些FTP软件直接在线改动文件,比方CuteFTP,因为软件编码配置错误而导致转换错了编码。这时候使用window的记事本打开,用“另存为”保存为相应的编码就可以解决这个问题。 

在windows操作系统上使用IE作为浏览器时,经常会发生这种问题:在浏览使用UTF-8编码的网页时,浏览器无法自己主动识别该页面所用的编码,即使网页已经声明过编码格式:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />,由此造成某些含有中文UTF-8编码的页面产生空白输出。假设使用的是Firefox、Sarafi的浏览器这不会造成这个问题。

这是因为IE解析网页编码时以HTML内的标签(title)优先。而后才是HTTP header内的讯息,而mozilla系列的浏览器则刚刚相反。

 



因为UTF-8为3个字节表示一个汉子,而普通的GB2312或BIG5是两个。

页面输出时,因为上述原因,使浏览器解析、输出<title></title>的内容时,假设在</title>前有奇数个全角字符,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的<结合成一个乱码字。导致IE无法读完<title>部分,使整个页面为空百输出,而这个时候假设察看源文件的话,会发现实际上整个页面所有已经输出了,但浏览器不显示内容。最简单的解决的方法是把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 放在<title></title>之前。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值