彻底让UTF-8的BOM玩了一把

今天搞了一天blog模版,事实上这个模版参考了一个老外的样式,CSS调试没费多少劲,在本机的静态测试文件也一直效果不错,3款浏览器下面基本没啥区别。传上服务器后准备开瓶香槟庆祝一下,哪知道一番测试下来,差点崩溃。

在Firefox、Opera下面一切正常,可是到了IE6、IE7下面整个页面扭曲的要命,和在本机上测试的效果完全两样。把页面另存下来,一番排查,排除了插件因素,排除了CSS错误的因素,也排除了IE经典的溢出因素。

反正我能想到的招基本都用上了,最后正准备撞墙的时候,突然在Total Commander的F3查看功能中的“纯文本”样式里面发现此文件开头有乱码迹象,而这些乱码在Editplus、Notepad2等编辑器里面是不可见的,顿时灵光乍现,想起UTF-8文档好像有种头尾标记,莫非……难道……也许……

关门放狗,关键字就是ie、utf-8、文件头。排头第一位就是解决方案:utf8模板在IE下页面无端空出一行的解决方法

下面的活就简单了,Notepad2里面有个功能可以把这些BOM标记干掉(File > Encoding > UTF-8)。其它编辑器也都可以。

要说IE还真是不枉一个烂字,对标准支持的乱七八糟之外,居然还有这种低能之处。另外,难不成我上一个修改中途放弃(在IE下面的版面总是存在问题)的模版也是因为这个?

3 thoughts on “彻底让UTF-8的BOM玩了一把”

  1. JDK1.5和PHP对BOM支持不好,而BOM是国际标准啊,你不指责这些开发工具,反过来指责支持BOM的IE?
    现在看来,将来所有页面都应带有BOM签名,看来。。。你还得改回去啊~

  2. @Janway 惭愧,虽然我知道这是标准。不过在另两种浏览器下面正常,说明应该不是后台页面生成的问题,而你的“支持bom的ie”这个说法应该有问题的吧?

Leave a Reply

Your email address will not be published. Required fields are marked *