BOM信息头详解

什么是BOM信息头?

WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于PHP来说,BOM是个大问题。

     PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!

window编辑器如果保存为utf8文件就会帮你加上BOM头,以告诉其他编辑器以utf8来显示字符

但是在网页上并不需要添加BOM头识别,因为网页上可以使用 head头指定charset=utf8告诉浏览器用utf8来解释.但是你用window自动的编辑器,编辑,然后有显示在网页上这样就会显示出0xEF 0xBB 0xBF这3个字符。

这样网页上就需要去除0xEF 0xBB 0xBF,可以使用editplus 选择不带BOM的编码,这样就可以去除了

时间: 2024-10-25 20:29:54

BOM信息头详解的相关文章

HTTP请求头详解

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和 可选的消息体组成.HTTP的头域包括通用头,请求头,响应头和实体头四个部分.每个头域由一个域名,冒号(:)和域值三部分组成.域名是大小写无关的, 域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符. 通用头域 通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control. Connection

Linux 查看系统硬件信息(实例详解)

cpu lscpu命令,查看的是cpu的统计信息. [email protected]:~$ lscpu Architecture: i686 #cpu架构 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian #小尾序 CPU(s): 4 #总共有4核 On-line CPU(s) list: 0-3 Thread(s) per core: 1 #每个cpu核,只能支持一个线程,即不支持超线程 Core(s) per socket:

HTTP消息头详解

HTTP是一个属于应用层面的面向对象的协议,由于其便捷.快速的方式.适用于分布式超媒体信息系统.于1990年提出 HTTP 协议主要特点概括如下 1.支持客户/服务器模式. 2.简单快速 请求方法常用的有  get .post 3.灵活HTTP允许传输任意类型的数据对象.正在传输的类型由content-type加以标记. 4.无连接模式  请求一次立即断开连接节省传输时间 5.HTTP协议是无状态协议   缺少后续需要处理前面的信息 就必须重新传值  若果不需要处理前面的信息他的应答速度就较快

coco标注信息与labelme标注信息的详解、相互转换及可视化

引言 在做实例分割或语义分割的时候,我们通常要用labelme进行标注,labelme标注的json文件与coco数据集已经标注好的json文件的格式和内容有差异.如果要用coco数据集的信息,就要对json文件进行修改和转换.本博客提供两种格式的具体内容及含义以及两种格式相互转换的代码,并对两种格式的json标注信息进行可视化. 1.coco格式的json标注信息详解及可视化 从coco官网下载coco的数据集里面,关于实例的标注信息在“annotations_trainval2017.zip

JavaScript学习总结(三)BOM和DOM详解

转自:http://segmentfault.com/a/1190000000654274 DOM介绍 D(文档)可以理解为整个Web加载的网页文档,O(对象)可以理解为类似window对象只来的东西,可以调用属性和方法,这里我们说的是document对象,M(模型)可以理解为网页文档的树形结构,DOM树由节点构成 节点种类:元素节点.文本节点和属性节点 DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API).DOM代表着被加载到浏览器窗口里的当前网页:浏览器向我们提供了当前网

javascript学习大总结(四)BOM和DOM详解

我们都知道, javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异. 1 DOM 是 W3C 的标准: [所有浏览器公共遵守的标准]2 BOM 是 各个浏览器厂商根据 DOM 在各自浏览器上的实现: [表现为不同浏览器定义有差别,实现方式不同]3 window 是 BOM 对象,而非 js 对象: BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM

HTTP头详解

HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Charset: 浏览器申明自己接收的字符集 Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法 (gzip,deflate) Accept-Language::浏览器申明自己接收的语言语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5

JMS学习(二)- JMS Message Model 组成介绍及消息头详解

一.前言 从本文起依次详细介绍JMS中的一些重要的概念,主要参考了官方的JMS1.1的文档,该文档很老了,是02年的,那年,JAVA还没有被Oracle收购..本文主要介绍Message及其相关概念,由于官方文档讲解得很详细,所以这个也基本上就是照搬了,只是由于时间关系,不能完全翻译了,所以本文只说重点. 二.Message的组成 上一次面试的时候,面试官问过我这个问题,但当时完全是一头雾水,用过ActiveMQ好几次了,但每次都是下个软件,起个服务,然后就在网上找一段模板代码配置好,能收到消息

HTTP 协议 请求头详解

HTTP由两部分组成:请求和响应.当你在Web浏览器中输入一个URL时,浏览 器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息.当服务器收到这个请求时将返回一个响应,该响应包括与该请求 相关的信息以及位于指定URL(如果有的话)的数据.直到浏览器解析该响应并显示出网页(或其他资源)为止. HTTP请求 HTTP请求的格式如下所示: <request-line><headers><blank line>[<request-bod