2011-07-22 1 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として保存した場合、ファイルの先頭に3つの余分なチャプターが出力されます。

これらの文字は、アプリケーションがUTF-8ファイルであることを(ダム)アプリケーションに伝えます。

ほとんどのアプリケーションでBOMを使用する必要はありません。あなたが唯一のBOMなしで再度ファイルを保存した場合

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

それは問題ないはずです。

実際のファイルを見ることなくこのことが起こっているのかどうかは分かりませんが、その価値はあります。

一部のエディタは、どのようなファイルであるかを示します。私はEditPlusを自分で編集者(Windows)として使用し、ファイルのエンコーディングを表示します。

+0

ありがとう!メモ帳+にはBOMなしで保存するオプションがありましたが、デフォルトではありませんでした。それを変えて問題を解決しました。 –

関連する問題