网站头部出现白条或空白行解决方案

修改 dedeCMS 模板后生成网站发现页面头部莫名出现一条空白行,甚至引起了式样的错乱。查看模版代码并没有任何异常,用 firebug 查看发现问题主要是:模板文件生成 html 文件之后会在 body 开头处加入一个空白子符 &#65279 ,导致页面头部会出现一个空白行。

 

 

接到" &#65279 字符"问题后,我也是百思不得其解,首先我怀疑是代码不清洁的问题,仔仔细细检查了整个模板,发现代码没有冗余的地方;后来也有想到不可见控制符的问题,但是找来找去也没发现;最后就用 Editplus 编辑器重新打开模板检查,当我重新另存为的时候发现原来页面的编码是 UTF-8 + BOM。

 

这种编码方式一般会在 windows 操作系统中出现,比如 WINDOWS 自带的记事本等软件,在保存一个以 UTF-8 编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以 UTF-8 编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP 来说,BOM 是个大麻烦。因为 PHP并 不会忽略BOM,所以在读取、包含或者引用这些文件时,会把 BOM 作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为 0,也无法让整个网页紧贴浏览器顶部,因为在 html 一开头有这 3 个隐藏字符  !

 

解决办法:

遇到这种问题的解决方法就是用 Editplus 2.12 版本以上编辑器或者 EmEditor 或者 UltraEdit(需要取消'添加BOM'的相关选项)或者 Dreamweaver(需要取消'添加BOM'的相关选项)重新保存一下 utf-8 格式的文档!

打赏

取消

感谢支持 Savalone !

扫码支持

打开支付宝扫一扫,即可进行扫码打赏哦


「本文由 Savalone 原创或搜集整理发布,转载请遵守 CC BY-NC-ND 4.0 许可!」
  • 11

  • 评论