解决让浏览器正确识别网页编码的办法

今天 我到网吧里上网,看了下我的网站,进去的时候发现主页竟然一片空白,吓了我一跳,难道我上次把主页修改出错了? 看下浏览器的进度,已经载入完成了啊,怎么是一片空白,应该不会是代码执行效率问题.于是我查看了下源文件,已经全部输出了,这是怎么回事???感觉有点 懵了.

    于是我进了我的后台,修改下我的模板,把它改到原始状态,然后刷新,再次打开浏览器,怎么还一片空白的呀!!! 更是郁闷了,检查了下代码语法,没错啊,怎么就不能显示的呢?

   难道是浏览器版本问题,我就想,.于是看了下这家网吧里的浏览器版本,ie6.0.很可能是出在这浏览器身上!

我又仔细检查了下代码,编码设成:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

看了下浏览器现在的编码,竟然是gb2312, 我的不是已经明确给浏览器发话了:"我的网页是 utf-8编码"

可浏览器怎么就不听话,设成 gb2312-80 呢?

   看来真的浏览器跟不上的原因搞起的!!

   想了下,怎么解决让低版本的浏览器听懂我的网页语言呢???

    网上 搜了下,还真找到解决的办法,下面是引用:

在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

// php 用 header("Content-Type:text/html;charset=UTF-8");

,由此造成某些含有中文UTF-8编码的页面产生空白输出。

如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。

由于UTF-8为3个字节表示一个汉子,而普通的GB2312或BIG5是两个。页面输出时,由于上 述原因,使浏览器解析、输出<title></title>的内容时,如果在</title>前有奇数个全角字符 时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的<结合成一个乱码字,导致IE无法 读完<title>部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。

因此最简单的解决办法是再网页文件 的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 放在<title></title>之前.

    问题解决了. 我一直用的是ie7 来浏览我的个人主页,没试过ie6的,没想到会有这样的问题,看来以后建站都要拿几个浏览器来检测了,不然还不吓跑一部分ie6忠实者!!!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值