是这样的,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
<?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
我是记事本UTF-8直接建立的php文件,哪来的BOM头呢,那以后php会不会都有这个BOM头??
你另存为 ANSI 就没有 BOM 头了,你试一下就知道了(当然就不是 utf-8 编码的了)