2011-07-22 65 views
1

下面的代碼在打開php標記之前沒有空格或文本。應用時,我收到一條警告,說明標題已被稱爲「在第3行」(setcookie)。我爲什麼不知所措。setcookie()存在標題問題 - 沒有空格,文本或任何在<?php標記之前的任何東西

<?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> 

謝謝你的幫助。

+3

您是否將文件保存爲UTF8 + BOM?如果你不知道在文件開始時輸出3個額外的字符。 – PeeHaa

回答

3

如果您已經使用BOM(字節順序標記)將文件保存爲UTF-8,則會在文件的開頭輸出三個額外的字符。

這些字符告訴(愚蠢)應用程序它是一個UTF-8文件。

對於大多數應用程序而言,使用BOM並不是必需的。

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

如果再次保存該文件只是沒了BOM應該罰款。

不知道這是發生了什麼事情而沒有看到實際的文件,但它值得拍攝。

一些編輯器顯示它是什麼類型的文件。我自己使用EditPlus作爲編輯器(Windows),它顯示文件的編碼。

+0

謝謝!記事本+有一個選項可以保存沒有BOM,但它不是默認值。改變它解決了這個問題。 –

相關問題