2015-09-23 43 views
0

在地方,我用require_once('something.php');我有奇怪的字符的HTML,當我檢查驗證頁面:使用UTF-8在PHP和加載文件(require_once)給出了奇怪的字符

Validation Output: 1 Error 
Error Line 1, Column 1: character "" not allowed in prolog 

這只是發生在我使用UTF-8。早些時候,我有ANSI文件,並沒有問題。

是的我改變元和UTF-8保存所有文件 我可以將代碼移動到節身體,但這對我來說很奇怪。

screenshot

+0

所以呢?你解決了嗎? –

+0

是的,但我現在不能讓你的答案有用;) –

+0

你是什麼意思?那麼原因是什麼?將它添加爲答案將很好,或者我可以更新我的答案。隨你便。但我們絕對應該在這裏發佈,所以對其他人有一定的價值。 –

回答

0

這是最有可能由UTF-8 BOM (Byte Order Mark)引起的。在HEX瀏覽器/編輯器中打開任何文件,並檢查該文件中的前3個字節。

UTF-8 BOM在Windows-1250編碼看起來是這樣的:。或ISO-8859-1中的。這是十六進制的EF BB BF

只需將文件保存爲UTF-8 沒有BOM。例如Notepad++ editor具有下Format菜單兩個選項:

  • 轉換爲UTF-8(無BOM)
  • 轉換爲UTF-8
+0

Thx,我可以在沒有BOM的Sharepoint設計師2007中保存嗎?可能會干擾程序中的文件? –

+0

我對Sharepoint Designer毫無頭緒,但我建議你不要使用它,因爲我知道微軟的軟件。使用Notepad ++,它是免費的,開源的,輕量級和良好的。它可以滿足用戶的需求,而不是它認爲最適合用戶的。 –