OpenSNS注意事項(xiàng)

2018-08-19 18:31 更新

OpenSNS 采用的是utf-8 無BOM頭編碼

優(yōu)點(diǎn)是兼容全世界各種文字的顯示,缺點(diǎn)是用記事本編輯會(huì)出錯(cuò)。

絕對(duì)不能用Windows自帶的記事本,特別是配置文件,一改全站報(bào)錯(cuò)


什么是BOM頭呢?

類似WINDOWS自帶的記事本等軟件,在保存一個(gè)以UTF-8編碼的文件時(shí),會(huì)在文件開始的地方插入三個(gè)不可見的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隱藏的字符,用于讓記事本等編輯器識(shí)別這個(gè)文件是否以UTF-8編碼。對(duì)于一般的文件,這樣并不會(huì)產(chǎn)生什么麻煩。但對(duì)于 PHP來說,BOM是個(gè)大麻煩。會(huì)導(dǎo)致各種錯(cuò)誤,各種異常。


PHP并不會(huì)忽略BOM,所以在讀取、包含或者引用這些文件時(shí),會(huì)把BOM作為該文件開頭正文的一部分。根據(jù)嵌入式語言的特點(diǎn),這串字符將被直接執(zhí)行(顯示)出來。由此造成即使頁面的 top padding 設(shè)置為0,也無法讓整個(gè)網(wǎng)頁緊貼瀏覽器頂部,因?yàn)樵?a href="http://www.o2fo.com/html" target="_blank">html一開頭有這3個(gè)字符呢!


最常見的BOM頭導(dǎo)致 驗(yàn)證碼無法顯示 ,各種操作提示失敗。


怎么去BOM頭?

window編輯器如果保存為utf8文件就會(huì)幫你加上BOM頭,以告訴其他編輯器以u(píng)tf8來顯示字符

但是在網(wǎng)頁上并不需要添加BOM頭識(shí)別,因?yàn)榫W(wǎng)頁上可以使用 head頭 指定charset=utf8告訴瀏覽器用utf8來解釋.但是你用window自動(dòng)的編輯器,編輯,然后有顯示在網(wǎng)頁上這樣就會(huì)顯示出0xEF 0xBB 0xBF這3個(gè)字符。

這樣網(wǎng)頁上就需要去除0xEF 0xBB 0xBF,可以使用editplus 選擇不帶BOM的編碼,這樣就可以去除了


推薦可以解決編碼問題的編輯器:

editplus  sublime  phpstorm(目錄下批量去BOM頭)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)