从#65279字符看dede模板页面编码问题

从#65279字符看dede模板页面编码问题

  今天一位朋友让帮忙给解决一个dede模板的问题,问题主要是:模板文件生成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个隐藏字符&#65279!

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114026.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月25日 下午6:00
下一篇 2021年9月25日 下午7:00


相关推荐

  • html邮件签名制作,制作自己的个性化电子邮件签名[通俗易懂]

    html邮件签名制作,制作自己的个性化电子邮件签名[通俗易懂]制作自己的个性化电子邮件签名您是不是经常给朋友发E-mail?如果每个邮件中都有一个精美的签名文件,文件中包括通讯地址、邮政编码以及电话、手机、QQ号码等联系方法,甚至可以包含简单的声音文件,并且每次在OutlookExpress中新建邮件时,可以自动签名——岂不很美?我们就一起来制作这样一个签名文件。1、启动OE,单击工具栏“新邮件”按钮,打开“新邮件”窗口。输入签名内容,包括通讯地址、电话…

    2022年10月9日
    6
  • jQuery下载安装详细教程,jQuery入门必备[通俗易懂]

    jQuery下载安装详细教程,jQuery入门必备[通俗易懂]jQuery是一套JavaScript的库,它简化了使用Javascript进行网页特效开发的一些复杂性,提供了对常见任务的自动化和复杂任务的简化。相对于JavaScript的库来说,更利于学习和掌握,而且具有简体中文的帮助文档,极大的方便了英文不好的网站建设人员的学习。下面我们介绍一下jQuery如何下载与安装?jQuery下载对于jQuery文件,我们可以到jQuery官网下载。jQuery文件有两个常用版本:一个是1.x版本,另一个是3.x版本。3.x版本是目前的最新版本,与1.x

    2022年6月5日
    36
  • HTTP请求返回415错误码定位解决

    HTTP请求返回415错误码定位解决今天在工作中,发现我再调用外部API接口的时候,发现一个奇怪的问题,就是我Eclipse中写代码调用外部API接口时返回HTTP状态码是415,但是我将相同的报文放在HttpRequester里面请求的时候却又可以拿到正常返回结果,而不是415错误。不知道有没有人跟我一样遇到过这个问题,这里记录一下解决办法。首先我们还是看下HTTP的状态码关于415返回码的说明吧。41

    2022年6月14日
    47
  • Class类 和 class对象(运行时的类型信息)

    Class类 和 class对象(运行时的类型信息)什么是类?可以理解为。class文件某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-TimeTypeIdentification),多态是基于RTTI实现的每一个类都有一个Class对…

    2022年5月11日
    46
  • 永别了,DeepSeek !!!

    永别了,DeepSeek !!!

    2026年3月15日
    1
  • python用pyinstaller编译成exe_pycharm编译成exe

    python用pyinstaller编译成exe_pycharm编译成exe在pycharm中使用pyinstaller生成exe文件:解决通常在cmd中用pyinstaller打包的exe文件太大的问题1、在pycharm中创建虚拟环境:2、在虚拟环境中添加打包程序所需要的库:添加国内镜像库链接,基本可以正常安装所有需要的库;添加pyinstaller工具:提示:一定要按照上面的配置进行,否则会出错在需要打包的程序中右键选中externalTools—>pyinstaller等待程序打包完成,在打包程序目录下的dist文件夹中就有生成的exe文件

    2022年8月27日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号