最近整了一个ecshop模版,修改上面的代码过程中,首页和后台出现错误代码
Warning: Cannot modify header information - headers already sent by (output started at E:\ecshop�¾����̳�ģ��\�����汾��վ20130308\children.php:1) in E:\ecshop�¾����̳�ģ��\�����汾��վ20130308\includes\init.php on line 165
Warning: Cannot modify header information - headers already sent by (output started at E:\ecshop�¾����̳�ģ��\�����汾��վ20130308\children.php:1) in E:\ecshop�¾����̳�ģ��\�����汾��վ20130308\includes\init.php on line 166
Warning: Cannot modify header information - headers already sent by (output started at E:\ecshop�¾����̳�ģ��\�����汾��վ20130308\children.php:1)
在网上了解了一下,原来之前修改代码后用记事本的形式保存后会出现bom
【BOM: Byte Order Mark
UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行】
PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。
解决方法:
用Dreamweaver去除Bom头 菜单–修改–页面属性 或者ctrl+j打开页面属性窗口,点选“标题/编码”去掉“包括Unicode签名Bom”前的勾,然后保存文件就可以了