今天写了一个小程序,是数据导出的,导出的文件是XML文件,提供给别人的一个数据文件,文件能够成功导出,但是,对方说,总是出错,后来一通研究发现,是UTF8文件编码有BOM的问题,但是,生成的文件却是无BOM的UTF8文件,只是一另存为,就自动加上了BOM,很奇怪。仔细的检查了源码,也没有任何问题,后来发现,有一次是通过记事本修改过CONFIG.PHP文件,检查了一下,发现,就是这个文件的原因。

最终总结出来了,PHP中,如果有文本流下载的,要想无BOM,那么PHP所包括的任何文件都必须是无BOM的,同理,在特殊的要求下,如果想下载有BOM的文件,就在包含的文件中,随便加上一个有BOM的文件就OK 了。