UTF-8 + BOM引起IE6浏览网页变形 样式错乱

前段时间用UTF-8的源码做了一个网站,放在国外空间上。

ftp工具使用的是flashfxp,编辑源码时,直接使用的是记事本,编辑完保存一下,flashfxp就可以自动上传(新版本有这功能,很方便)。由于Linker使用的是ie8,浏览网页,N久时间也没有发现什么异常。

有一次在一朋友家里面,随手想打开看一下,打开首页,乖乖,变形得厉害,右侧栏直接跑到中间栏下面去了。再浏览几个页面,发现有些正常,有些明显形状还类似,css文件没有正常加载似的。哪叫一个尴尬啊,这可是针对企业级用户使用的网站应用。马上就有些意识到,这应该是浏览器版本引起的问题,ie6,又是ie6。

回家后,赶快用虚拟机(使用ie6浏览器)打开网站看了看,果然变形,看网站源代码,没有什么异常。突然想到了源码的编码问题,并且发现:我使用的是utf-8的编码,但使用flashfxp下载,记事本编辑,再保存上传后,编码变成了UTF-8 + BOM的格式,怪不得。赶快下载源码,另存为UTF-8,上传覆盖,更新网站缓存,使用ie6浏览,正常,网页不再变形。

有关UTF-8 + BOM的知识:

UTF-8之BOM含义,UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16、UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,没想到困惑我很久的居然是UTF-8编码的BOM,之前在部分采用UTF-8编码的页面会平白多出一个空行,使用DREAMWEAVER编辑网页的时候,采用UTF-8编码时会自动为网页添加BOM签名,于是问题就产生了,会使用部分浏览器(包括老版本的ie6,很老版本的Firefox等其他浏览器),各大内核的新浏览器,已经可以兼容这种错误了。

微软IE6浏览器用户依然众多

据国外媒体报道,网络广告公司网络广告公司Chitika最新的研究报告指出,IE6用户数量依然众多,尤其是在标准工作时间。 Chitika公司通过监测标准工作时间内IE浏览器市场份额实时数据后发现,在美国中部时间(CST)上午5点至下午2点之间,IE6市场份额仍然高达13%,在所有浏览器中排名第4。这段时间之后,IE6市场份额下降到6%。周末和工作日的情况大致相似。  

Chitika统计的数据还显示,在工作日的工作时间内,当IE6市场份额下降时,Chrome, Firefox和Safari(包括IE8)等浏览器的市场份额就会攀升。
 
Chitika 公司首席技术官Alden DoRosario表示:“这种现象似乎表明,互联网用户在家中要比在公司中更为容易使用先进技术。当用户在公司中通过各种方式来确保IE6网页浏览器安全性的同时,他们却可以在家中使用更为安全的浏览器,这种现象非常奇特。”
 
据悉,微软公司于2001年8月27日发布IE6浏览器,并由Windows XP系统推向全世界用户。
 
IE6是微软浏览器第6个版本。IE6发布后便迅速成为世界第一大浏览器。但随着时间流逝,IE6脆弱的安全性便不断受到用户的指责,而且一些Web开发 者也经常抱怨IE6缺乏对Web标准的兼容。
 
截止今年1月份,IE6仍然是仅次于IE8的世界第二大浏览器,这很大程度上是由于 Windows XP系统一直包含IE6。因此,IE6用户仍然为数众多,而且微软官方对IE6的技术支持一直要持续到2014年。

相差文章导读:

UTF-8 BOX的问题:http://blog.chinaunix.net/u/19419/showart_209247.html
探索UTF-8中文编码的BOM标记问题:http://www.kgblog.net/2009/07/22/utf-8-bom-encoding.html
UTF-8 BOM 可能导致样式错乱的解决方法:http://www.2ky.cn/h/17/5323.html