前段时间用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%。周末和工作日的情况大致相似。
相差文章导读:
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
