setcookie()有头问题 - 在<! - ?php标签 - >之前没有空格,文本或任何东西

时间:2011-07-22 07:20:35

标签: php html cookies setcookie

以下代码在打开php标记之前没有空格或文本。应用后,我收到一条警告,指出标题已经被称为“第3行”(setcookie)。我为什么不知所措。

<?php
    $value = 'something from somewhere';
    setcookie("TestCookie", $value);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>

</head>
<body>

</body>

</html>

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

如果您已将文件保存为带有BOM(字节顺序标记)的UTF-8,则会在文件的开头输出三个额外的字符。

这些字符告诉(哑)应用程序它是UTF-8文件。

大多数应用程序不需要使用BOM。

http://en.wikipedia.org/wiki/Byte_order_mark

如果仅在没有BOM的情况下再次保存文件,则应该没问题。

如果没有看到实际文件但不值得拍摄,不确定这是不是正在发生的事情。

有些编辑会展示它是什么类型的文件。我自己使用EditPlus作为编辑器(Windows),它显示文件的编码。