PHP中使用include会多出空格或者换行的情况

今天在解决一个导出Excel乱码问题时,定位到的原因让我很无语,居然是include了一个php配置文件。

但是为什么一include,就出现了换行呢?

最后总结如下:

1.UTF-8文件有两种模式,一种是UTF-8 无BOM 类型 ,一种是 UTF-8 有BOM 类型。只需要用Notepad++打开,就能看到是哪种类型了。而BOM是什么呢?BOM是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符(”\uFEFF”),位于文本文件头部。所以如果发现代码文件是UTF-8 BOM类型,则可以转换编码试一试。

2.检查include的php文件,是否有结束标签。因为结束标签后面有可能会出现多余的空格或者换行,或者回车,这样的字符是看不见的,却会被当成内容输出出来。而我,则就是遇到了这样的情况,把php的结束标签删掉之后,终于解决了问题。