2014-12-19 43 views
0


我在使用utf-8編碼的php文件存在嚴重問題。 PHP使用頂部的額外BOM返回它們,這會導致很多問題,例如session_start中的「標題已發送」,甚至瀏覽器中出現意外的視圖(頂部有一個很大的空白!)。
我對本地測試服務器(Apache,XAMPP)沒有任何問題,但是在我的實際服務器(IIS,FastCGI)上發生了這個問題。
我知道我可以通過將編碼更改爲「UTF-8 Without BOM」來解決這個問題,但對於大量文件來說這是一項艱鉅的任務。
另外我想知道,我的本地和實際服務器之間有什麼區別造成這個問題。這個問題起源於什麼?有沒有辦法解決這個問題?
非常感謝!PHP在響應頂部發送BOM字符

+0

解決方法是通過刪除BOM。這是一個可怕的特點。通常情況下,如果忽略編碼將其作爲文本文件上載到FTP上,可能會導致問題。 – 2014-12-19 05:17:28

+0

謝謝,但我更喜歡找到一種方法來解決它基本上。這是我的下一個選擇。 – Ahmad 2014-12-19 05:29:18

+0

你真的應該刪除BOM。這是一種增加文件大小並降低兼容性的方法[並且對於UTF-8文件來說完全沒有必要](https://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8 -without-BOM)。 – 2014-12-19 05:44:09

回答

0

我不知道你的問題來自何處,但我建議你使用Notepad ++並記錄一個宏。你一次打開所有的php文件(或者其中一些文件夾),記錄宏並讓它完成這項工作。

我已經解決了類似的問題。

此外,請檢查您的FTP客戶端(如果您使用一個),並確保它不會將您的文件類型轉換爲ASCII

這是來自Filezilla FTP客戶端的示例圖像。確保它設置爲Auto

enter image description here

+0

謝謝,但我更喜歡找到一種方法來基本解決它。這是我的下一個選擇。 – Ahmad 2014-12-19 05:29:35