BOM问题导致dedecms织梦生成的页面头部空白

作者 : admin 共1047个字,阅读需3分钟。 字体:
  • 文章介绍
  • 评价建议
  • 今天突然发现网站头部有一条空白,当时我就想肯定css问题了,然后我就用开发者去查看padding、margin没有问题, 这时候我就想是网站模板出了问题吧,然后我去修改网站模板编码,以为没问题了,结果还是不行,好吧我把静态页面 下下来了,去研究原来有一个未知的元素在里面,是什么呢先不研究他是什么,因为我用的是DW看不到。

    可以确定是编码问题

    这时候我再想是不是前段时间我改的PHP文件出现编码问题,难不成我要把所有改过的检查一下?那不是什么都不用做 了吗,再说我也没那时间去逐个检查因为改的太多了。

    突然我想到了BOM问题导致网站头部空白

    为什么这么说呢,我有个不好的习惯,习惯在服务器上的记事本里直接敲代码,因为在WINDOWS下的记事本中,默认是 gb编码,而我的网站是utf-8的在转码为以UTF-8编码时,会在文件最前面插入三个不可见的字符(_0xEF _0xBB _0xBF, 即BOM——Byte Order Mark)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。由于在 PHP中没有考虑BOM的问题,不会忽略UTF-8编码的文件开头BOM的那三个字符,所以把它作为正文的一部分,将会造成在 页面上输出这三个字符。显示效果一般是一个空行 或是一个乱码。由于在html一开头有这3个字符的存在,即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部。 用记事本编辑代码,可能会出现的另外一个问题是:不能登入或者不能登出; 由于受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在 COOKIE送出前PHP已经 送出了文件头),所以登入和登出功能失效。一切依赖COOKIE、SESSION实现的功能全部无效。

    问题终于浮出了水面,下面来说下怎么解决这个问题。

    织梦模板从服务器全部导到本地,将他们全部检查一遍,不要只检查{dede:include filename="header.htm"/}因为 这个问题不单单是一个模板的事,如果你记得你在记事本弄过哪个网站模板那就改一个好了。

    织梦模板修改步骤:

    1. 1.将模板用Notepad++打开,在DW编辑器中等等,但我用的是Notepad++。

    2. 2.到Notepad++的菜单栏找到编码——转为utf-8编码。

    BOM问题导致dedecms织梦生成的页面头部空白-宝码资源下载

    将包含标签(BOM)的复选框的对号取消,应用、确定保存。然后让织梦模板覆盖服务器里的织梦模板,重新生成全站就好了。

    如果你是在Notepad++编辑器中,就将文件转为UTF-8无BOM编码格式

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    下载了资源,浏览器提示下载完但解压或打开不了?
    最可能的情况是下载不完整,可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件下载。 或者重新下载尝试。若多次下载均出现此提示,请在对应资源底部留言或联络客服。
    找不到素材资源介绍文章里的示例图片?
    对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    1. 本站部分资源文章来源于用户投稿上传和互联网,如有侵权请邮件联系客服处理;
    2. 本站分享目的仅供大家学习和交流,您必须在下载资源后24小时内删除;
    3. 下载的资源不得用于非法商业用途,不得违反国家法律。否则后果自负;
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解;
    5. 如有链接无法下载、失效或广告,请联系客服处理;
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需;
    7. 如遇到加密压缩包,默认解压密码为"www.bmcn.net",如无法解压的请联系客服处理。
    宝码资源下载 » BOM问题导致dedecms织梦生成的页面头部空白