UTF-8的BOM问题

UTF-8BOM 问题

通常情况下,我都会使用Windows 事本程序 写网 程序,但在 写或修改 php 博客系 后, 调试时总 是会出 如同以下几点 问题

 

-- 不能登入或者不能登出;

-- 页顶 一条空白;

-- 页顶现错误 警告;

-- 其它不正常的情况。

 

分析原因:

 

由于本人习惯 使用 UTF-8 编码 ,在 写或修改代 后 都保存 utf-8 编码 格式。 在几乎所有的文本 编辑软 件都可以 示并 编辑 UTF-8 编码 的文件,但是很 憾的是其中很多 件的表 并不理想。

 

WINDOWS 事本等 件,在保存一个以 UTF-8 编码 的文件 ,会在文件 始的地方插入三个不可 的字符( 0xEF 0xBB 0xBF ,即BOM —— Byte Order Mark )。它是一串 藏的字符,用于 让记 事本等 编辑识别这 个文件是否以 UTF-8 编码 于一般的文件, 这样 并不会 生什 。但 PHPPHP设计时 就没有考 BOM问题 ,不会忽略 UTF-8 编码 的文件 开头 BOM 的那三个字符,会把BOM为该 文件 开头 正文的一部分。由于必 <? 或者<?php 后面的代 才会作 PHP码执 行,所以将会造成在 面上 三个字符, 示效果 就要看浏览 器了,一般是一个空行或是一个乱 。由于在 html开头 3 个字符的存在,即使 面的 top padding 0 ,也无法 整个网 页紧贴浏览 部。由于受 COOKIE 送出机制的限制,在 些文件 开头BOM 的文件中,COOKIE 无法送出(因 COOKIE 送出前PHP 送出了文件 ),所以登入和登出功 能失效。一切依 COOKIESESSION 实现 的功能全部无效。

 

解决 法:

 

编辑 、更改任何文本文件 请务 必使用不会乱加 BOM编辑 器。 Linux 下的编辑应该 都没有 问题WINDOWS 下, 勿使用 事本等 编辑 器。推荐的 编辑 器是:

Editplus 2.12 版本以上;

EmEditor

UltraEdit (需要取消‘添加BOM 的相关选项 );

Dreamweaver (需要取消‘添加BOM 的相关选项

等。

 

于已 添加了 BOM 的文件,要取消的 ,可以用以上 编辑 器另存一次。( Editplus 需要先另存 gb ,再另存 UTF-8 。)或者,用 个程序( PHP 版本4.3 以上)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值