찾다
php教程php手册Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题

本博客已弃用,更新版本请访问 www.dss886.com 最近接到一个活,是用Drupal7搭一个网站,实现简单的分角色发布文章的功能,架构是XAMPPPHPMySQLDrupal7。 以下是我在实际项目中遇到的一些问题和解决办法。 一、UTF8无BOM式和带BOM式。 我下载了一个 Drupal 7

本博客已弃用,更新版本请访问 www.dss886.com

最近接到一个活,是用Drupal7搭一个网站,实现简单的分角色发布文章的功能,架构是XAMPP+PHP+MySQL+Drupal7。

以下是我在实际项目中遇到的一些问题和解决办法。


一、UTF8无BOM格式和带BOM格式。

我下载了一个 Drupal 7 的主题,然后覆写它的模板,以实现自定义布局。

覆写完以后发现,页面上方会多出一栏空行。


正常的网页:

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


不正常的网页:顶部多了一行空行:

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


F12审查元素看看:

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


这让我百思不得其解啊,拿修改前的和修改后的文件一行一行的对比,完全没有问题啊!

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


然后突然看到了的底下状态栏,两个文件好像不一样:

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


UTF-8 with BOM是什么东西?试着改回成UTF-8试试,改回来果然就好了!

百度了一下,UTF-8 BOM:

BOM——Byte Order Mark,就是字节序标记
 
在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
 
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
 
UTF- 8编码的文件中,BOM占三个字节。如果用记事本把一个文本文件另存为UTF-8编码方式的话,用UE打开这个文件,切换到十六进制编辑状态就可以看到开 头的FFFE了。这是个标识UTF-8编码文件的好办法,软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM。可是,还是有很多软件不能识别BOM。

在Firefox早期的版本里,扩展是不能有BOM的,不过Firefox 1.5以后的版本已经开始支持BOM了。现在又发现,PHP也不支持BOM。PHP在设计时就没有考虑BOM的问题,也就是说他不会忽略UTF-8编码的文件开头BOM的那三个字符。


果然,PHP是不支持BOM的,会把BOM头显示成一个空字符。

为什么我会把修改过的文件保存成有BOM的UTF-8呢?

想到项目刚开始的时候我用的是Notepad++,后来用的是Sublime Text 3,会不会是编辑器的问题?


果不其然,Notepad++的保存格式是这样的:

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


Sublime Text 3的保存格式是这样的:

Drupal 7 建站学习手记(一):PHP输出的页面多出空行的问题


摔!两个编辑器默认的UTF-8根本不是一个东西啊!

从此成了Notepad++一生黑。。。。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.