2011-10-07 85 views
0

我知道「頭已發送」錯誤問題已經答案數百萬次,但我有點難住這一個。「頭已發送」錯誤導致detect_unicode =「0」

<?php 
    session_start(); 
    if(isset($_GET['logout'])) { 
     if($_GET['logout'] == 'logout') 
      $past = time() - 10; 
     setcookie('hebron_member', date("F jS - g:i a"), $past); 
    } else if(isset($_GET['setcookie'])) { 
     if($_GET['setcookie'] == '1'){ 
      $month = 2592000 + time(); 
      setcookie('hebron_member', $_GET['id'], $month); 
     } 
    } 
?> 

這是我的索引頁面的頂部。當我通過Filezilla將所有文件傳輸到網絡服務器時,韓文字符顯示爲問號。我做了一些研究,看到我可以將php.ini文件更改爲包含detect_unicode="0",它修復了這個問題,但是由於我添加了該行,因此出現「無法發送會話緩存限制器」錯誤。

有什麼建議嗎?

回答

0

一定要保存在UTF-8的文件,而無需BOM

您可以使用記事本做++和保存它作爲UTF-8編碼沒有BOM =)

+0

我已經這樣做了一切工作正常,當我在自己的計算機上使用XAMPP查看。關於header()的網絡服務器,直到我添加了detect_unicode =「0」行。 –

+0

哦,我的天啊。我只是仔細查看了你的帖子,並檢查了一下「沒有BOM」選項。這解決了問題!你能解釋一下BOM的確切含義嗎? –

+0

我認爲通過FTP傳輸數據會導致問題,因爲它通過該文件,並不保留UTF-8編碼(因爲這是我的問題)...有沒有任何選項,您可以更改文件的文件編碼在你的網絡服務器上? –

0

一個非常普遍的和惱人的問題是具有PHP開始標記前的空格或行

+0

檢查,雙重檢查,和三重檢查:( –