php bom头 emeditor,PHP与Unicode签名(BOM)

PHP与Unicode签名(BOM)

文章作者:网友投稿 发布时间:2009-09-07 13:07:39 来源:网络

在编写或者修改用UTF-8编码保存的PHP文件时,有时会莫名其妙出现一些问题: 1. 页面显示一个锘字,其他一片空白; 2. 不能登入或者不能登出; 3. 页顶出现一条空白; 4. 页顶出现错误警告; 5. 其它不正常的情况; 6. 生成的图片浏览器无法识别。 分析原因: 文件以UTF-8编码

在编写或者修改用UTF-8编码保存的PHP文件时,有时会莫名其妙出现一些问题:

1. 页面显示一个“锘”字,其他一片空白;

2. 不能登入或者不能登出;

3. 页顶出现一条空白;

4. 页顶出现错误警告;

5. 其它不正常的情况;

6. 生成的图片浏览器无法识别。

分析原因:

文件以UTF-8编码保存时,有两种情情况:带Unicode签名(BOM)和不带Unicode签名。BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件。

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

但对于 PHP来说,PHP在设计时就没有考虑BOM的问题,不会忽略UTF-8编码的文件开头BOM的那三个字符,会把BOM作为该文件开头正文的一部分。由于必须在BOM found, automatically removed.");

} else {

return ("BOM found.");

}

}

else return ("BOM Not Found.");

}

function rewrite ($filename, $data) {

$filenum=fopen($filename,"w");

flock($filenum,LOCK_EX);

fwrite($filenum,$data);

fclose($filenum);

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值