日期:2014-05-17  浏览次数:20397 次

怎么去掉开头的这个空行?
我在输出HTML之前需要引用自己的另一个php文件,如下:

<?php
include("test.php");
?>
<html>
<body>
......

结果只要这样引用,无论test.php中怎么写,输出页面都会在最开始输出一个空行,但看页面原代码中又绝没有<br>或回车换行符,哪怕test.php完全为空的<?php?>也会这样。但如果将test.php的代码直接写在主程序里替代include("test.php")就不会出现空行。

这是为什么?如果我必须在开头include,该怎么解决?

------解决方案--------------------
firefox chrome下没有发现此情况.
估计是utf8 的头问题
------解决方案--------------------
BOM 头?

国际化?真的不知道有多少人能看懂中文
------解决方案--------------------
可能是你的include文件中<?php...?>之后有换行,如:
<?php
...
?>
这里
------解决方案--------------------
你用记事本打开这个html文件,把头部的空行去掉吧
------解决方案--------------------
文件格式用UTF-8无BOM试试看,推荐用notepad++修改文件格式
------解决方案--------------------
把test.php文件的编码改为utf-8,试试,存在bom头的可能性很大
------解决方案--------------------
文件编码改为utf-8,试试,gbk的编码可能有bom头
------解决方案--------------------
设置编码
------解决方案--------------------
探讨

前面加不加header("Content-type:text/html;charset=utf-8")问题依旧,而且并不影响session,所以是否牵扯到BOM头不好说。

但跟utf-8编码肯定有关,现在我是主php文件开头include另一个php文件,两个php文件存储格式都是utf-8(windowsXP系统下),我发现只要把其中任何一个文件的存储编码改为ANSI,空行就没了。但是牵……

------解决方案--------------------
一个空行引发的血案。就此结束。。。