UTF-8 BOM对PHP的影响_PHP教程
折腾了好长时间,最后偶然看见了有两个控制模版的PHP文件不一样 一个是以UTF-8无BOM编码另一个是UTF-8格式编码,试着就把那个UTF-8格式的改成了UTF-8无BOM格式了。然后保存,打开firefox,之前不显示的frameset模版居然显示了。然后又在chrome下试了试 还是不显示,然后就想到了是不是还有其他PHP文件的格式没有转成无BOM格式。查了下把所有的凡是UTF-8的都改成了UTF-8无BOM格式 保存后chrome也可以正常显示了。终于松了一口气。
之前一直对UTF-8和UTF-8无BOM这格式没太在意。所以就百度查了下他们到底有什么区别。大致如下:
UTF-8 编码的文件可以分为 no BOM 和 BOM 两种格式。
何谓BOM? "EF BB BF" 这三个字节就叫BOM,BOM的全称叫做"Byte Order Mard"。在utf-8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意实在utf16中用来表示高低字节序列的。在字节流之前有 BOM表示采用低字节序列(低字节在前面),而utf8不用考虑字节序列,所以其实有无BOM都可以。UTF-8以字节为编码单元,没有字节序的问题。 UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如收到一个“奎”的Unicode编码是 594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是 “奎”还是“乙”?
如果文件保 存时,选择了使用 BOM,会使页面显示不正常。一般来说,php是不支持有BOM的,php文件应该保存为UTF-8无BOM类型
所以在保存 UTF8 编码PHP文件时,不要使用 BOM。
推荐阅读
-
js和php对url编码的处理方法_PHP教程
-
PHP完美判断字符串是否为utf-8的函数_PHP教程
-
php如何控制用户对图片的访问 PHP禁止图片盗链,_PHP教程
-
通过对服务器端特性的配置加强php的安全_PHP教程
-
PHP批量删除、清除UTF-8文件BOM头的代码实例
-
关于php unset对json_encode的影响详解
-
php中magic_quotes_gpc对unserialize的影响分析
-
PHP的session存储对PHP运行环境的影响 phpsessionredis宕机空白页面
-
PHP批量删除、清除UTF-8文件BOM头的代码实例
-
关于php unset对json_encode的影响详解