关于头信息BOM及如何去除BOM头信息
在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark)。
php4/5会视BOM为一般字符输出(这是一个不可见字符),因此会出现这个header already
sent的问题。应该说这是一个php的bug(22108,
42312),可喜的是,php6宣传已经没有这个问题,而在php4/5下,有两个方法可以解决这一问题:
方法一,在Dreamweaver下设置
编辑----首选参数(page
properties)----“默认编码(Encoding)”设置为Unicode(UTF-8),“包括Unicode签名(BOM)”不要打勾
或:修改----标题/编码----设置“编码”Unicode(UTF-8),“包括Unicode签名(BOM)”不要打勾
方法二,在UE中设置
UltraEdit可以设置(Configuration-> File Handling -> Save -> Write UTF-8 BOM header)
方法三,在editplus中设置
工具----“参数选择”下“文件”下设置UTF-8标识"总是删除签名",如果是英文版本,Tools---preferences下“files”,Default encoding设置为UTF-8
或:修改----标题/编码----设置“编码”Unicode(UTF-8),“包括Unicode签名(BOM)”不要打勾
方法二,在UE中设置
UltraEdit可以设置(Configuration-> File Handling -> Save -> Write UTF-8 BOM header)
方法三,在editplus中设置
工具----“参数选择”下“文件”下设置UTF-8标识"总是删除签名",如果是英文版本,Tools---preferences下“files”,Default encoding设置为UTF-8