【前言】
最近遇到BOM问题,这里记录总结下
【主体】
(1)介绍
BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。
类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。
PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!
(2)拓展
隐形字符65279解释如下:
UTF-8 编码的文件可以分为无 BOM 和 BOM 两种格式。
何谓BOM?
"EF BB BF" 这三个字节就叫BOM,全称是"Byte Order Mard"。在utf8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意是在utf16中用。
utf-8文件在php中输出的时候bom是会被输出的,所以要在php中使用utf-8,必须要是使用不带bom头的utf-8文件。
常用的文本编辑软件对utf-8文件保存的支持方式并不一样,使用的时候要特别留意
(3)解决方法:
编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。一般的文本文件会忽略这一串隐藏的字符,但对于PHP等文件会解析这一串字符,这样会导致出错。
1、editplus去BOM头的方法
编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名,然后对PHP文件编辑和保存后的PHP文件就是不带BOM的了。
2、ultraedit去除bom头办法
打开文件后,另存为选项的编码格式里选择(utf-8 无bom头),确定就ok了。
3、Dreamweaver 去除bom头方法
修改>页面属性>标题/编码 中的 包括Unicode 签名(BOM)" 前面的对钩去掉即可
4、vscode 去除bom头方法
打开文件,右下角 有个 UTF-8withBom 按钮,说明文件是带Bom头的。 点击按钮后 正上方中间位置有编码选择列表, 选择UTF-8就可以啦。
这里推荐使用第3种方案,笔者亲测管用。具体链接和方案可以参考上篇博客文章哦~
.
相关推荐
关于设计BOM和制造BOM的介绍.doc
ERP之BOM 知识介绍 TIPTOP培训资料
以自行车生产为例介绍bom表的组成,结合erp的说明
本文详细说明了BOM表的制作,共分五个章节来介绍,希望对你有用。
BOM介绍 window对象 location对象 navigator对象 screen对象 history对象
比较全的 BOM和DOM对象介绍
1.首先介绍一下本人应用场景,qt程序整合第三方库,多平台运行,第三方库window平台使用msvc编译,代码移植到linux出现bom问题 2.解决:windows使用utf-8编码,linux使用utf-8无bom编码 3.此小工具主要针对utf-8...
BOM基础知识,ERP中最核心的基础资料,实施erp的关键之一
PP04- BOM主数据介绍
捷远BOM管理系统 单机版 免费免安装,根据...我们以台式电脑组装过程为例,介绍一下BOM在本系统里如何建立,以及进行领料和预算。这里只是以简单的电脑组装为例(只列举三层),如果是生产性企业,所涉及的层数会更多。
介绍供应链中BOM结构,仅供初学BOM者参考使用
硬件工程师BOM对比工具 对新旧BOM进行逐行,逐物料,逐位号的对比检查 提高设计效率 工具的介绍文章在我文章中可查,b站搜“乌拉大喵喵”也可
bom训练.ppt pdm介绍.ppt 关于bom.ppt
BOM的用法介绍.docx
从erp100上DownLoad下来的资料,介绍了BOM的相关概念、BOM的用途说明、BOM的分类、BOM的维护与管理,可值值得一读,谢谢作者的共享。
BOM清单审批流程图介绍
该文档介绍了oracle ERP系统中很重要的一个模块BOM,中文名是物料清单,它是其他模块,如制造,供应链的基础。
BOM教程,详细介绍易飞ERP系统的中的BOM架构和思想。
详细介绍 BOM,javascript的浏览器对象
JavaScript_BOM 浏览器对象 介绍浏览器的常用对象及其不同浏览器的差别