BOM-字节顺序标记(ByteOrderMark)

出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。

用Windows 编辑器(如文本文档)将文件保存为utf8格式的时候,它会帮你在文件的开头处加上BOM头,以告诉其他编辑器该文档以utf8来显示字符。
而这个BOM头还是不可见的。它不在用户可编辑范围内,而是内嵌到文件中的。
但是,在网页文件上并不需要添加BOM头进行识别,因为网页上可以使用head头,指定charset=”utf-8″告诉浏览器用utf8来解释。

但是网页浏览器或者服务器端会解析带BOM头的文件,会解析出0xEF 0xBB 0xBF这3组字符。PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(或显示)出来。

不好的结果:

  • 网站不能登入或者不能登出、验证码显示不正常
  • 页顶出现一条空白
  • 页顶出现错误警告
  • 其它不正常的情况

去除的方法:

用Dreamweaver去除。由于我用的是英文版的DW,截图显示的是英文的。
打开Dreamweaver->选择编辑->首选参数->新建文档标签->右边->”包括Unicode 签名(BOM)” 前面的对钩去掉(默认情况下是没有打勾的)。
然后把原来的代码复制出来,在新建的dw文件中粘贴,保存。这样,新的文件是不带BOM头的。

dreamweaver

 

 

本篇文章相关标签: