是这样的,php.ini的ob是关闭的,我直接运行下面的代码提示错误:
<?php
echo "ok";
header("content-type:text/html;charset=utf-8");
echo "ook";
?>
以后输出:
ok
Warning:
Cannot modify header information - headers already sent by (output started at C:\php\apache\htdocs\static\test.php:1) in C:\php\apache\htdocs\static\test.php on line 4
ook
加上ob_start()开启ob缓存,应该是没有错误了,我加上ob,代码如下:
<?php
ob_start();
echo "ok";
header("content-type:text/html;charset=utf-8");
echo "ook";
?>
运行结果:
ok
Warning: Cannot modify header information - headers already sent by (output started at C:\php\apache\htdocs\static\test.php:1) in C:\php\apache\htdocs\static\test.php on line 4
ook
------解决方案--------------------
去掉 BOM 头,再试
------解决方案--------------------
正因为是用“记事本”建的,所以才有 BOM 头
你另存为 ANSI 就没有 BOM 头了,你试一下就知道了(当然就不是 utf-8 编码的了)