2009-12-03 31 views
3

不知何故,我設法將Ôªø貼在PHP腳本的頂部。這羣可怕的人物是什麼,我怎麼能進入它,以及我將來如何暴露和/或避免它?這是什麼字符串:我自己怎麼避免它?

有趣的是,它潛伏在PHP腳本的頂部,在<?php之前。該腳本需要發送Content-type標頭。由於將標題從文件的頂部推開,服務器不斷髮送自己的標題,隨後出現了2小時的鬧劇。我甚至無法看到nano或bash中的字符串。但是我重新定向了一個區別,那就是它了。

+1

文件頭幾個字節的十六進制轉儲是什麼? ('od -t x1 -N 16 file_name.php') – cobbal 2009-12-03 06:17:29

+0

0000000 ef bb bf 3c 3f 70 68 70 0d 0a 09 68 65 61 64 65 – scorxn 2009-12-03 14:36:08

回答

8

這就是UTF-8 byte order mark(尋找EF BB BF)。這是一個標準的東西,不應該引起你的問題,但如果它確實存在,那麼確保你的源代碼編輯器在保存時不用BOM預先加載文件。

+1

這也是我的第一個想法。我建議將文件轉換爲沒有BOM的UTF-8,並查看是否有效。 – 2009-12-03 06:27:11

+0

「UTF-8 BOM」沒有被Unicode標準認可,因此當以這種方式使用時,它不過是一個零寬度不間斷空間。不幸的是,許多微軟工具都將這些虛構的BOM寫入UTF-8文件的前面,在許多工具中將其打破。 – bobince 2010-01-28 23:13:05

+0

作爲一個後續的問題,在哪個編碼中\ xEF \ xBB \ xBF會出現在「它似乎不匹配我能找到的任何編碼。 – 2014-10-22 15:45:07

4

這絕對是一個編碼錯誤。最有可能的是,您將腳本保存爲一種格式,但將其上傳或聲明爲另一種格式。我不能提供任何進一步的建議,因爲我不太瞭解編碼錯誤或如何解決它們。祝你好運壓扁的錯誤。

+0

+1這些可能是一個痛苦的破解。我見過版本控制系統,編輯器,以及不同的操作系統版本都導致它們。 – 2009-12-03 04:30:15

+0

剛剛檢查了我的本地檔案,它在那裏,這樣就排除了上傳問題。使用Dreamweaver CS4 Mac編輯它,IIRC。 Unix結尾默認爲UTF-8。 – scorxn 2009-12-03 04:38:22

相關問題