UTF-8 BOM對PHP的影響_PHP教程

來源:互聯網
上載者:User
今天在用notepad++寫代碼時 載入一個frameset架構模版後 在頁面上一直不顯示該頁面,查看源碼後都正常。然後索性把裡面東西全刪掉 隨便寫了幾個測試文字可以正常顯示。

折騰了好長時間,最後偶然看見了有兩個控制模版的PHP檔案不一樣 一個是以UTF-8無BOM編碼另一個是UTF-8格式編碼,試著就把那個UTF-8格式的改成了UTF-8無BOM格式了。然後儲存,開啟firefox,之前不顯示的frameset模版居然顯示了。然後又在chrome下試了試 還是不顯示,然後就想到了是不是還有其他PHP檔案的格式沒有轉成無BOM格式。查了下把所有的凡是UTF-8的都改成了UTF-8無BOM格式 儲存後chrome也可以正常顯示了。終於鬆了一口氣。

之前一直對UTF-8和UTF-8無BOM這格式沒太在意。所以就百度查了下他們到底有什麼區別。大致如下:

UTF-8 編碼的檔案可以分為 no BOM 和 BOM 兩種格式。

何謂BOM? "EF BB BF" 這三個位元組就叫BOM,BOM的全稱叫做"Byte Order Mard"。在utf-8檔案中常用BOM來表明這個檔案是UTF-8檔案,而BOM的本意實在utf16中用來表示高低位元組序列的。在位元組流之前有 BOM表示採用低位元組序列(低位元組在前面),而utf8不用考慮位元組序列,所以其實有無BOM都可以。UTF-8以位元組為編碼單元,沒有位元組序的問題。 UTF-16以兩個位元組為編碼單元,在解釋一個UTF-16文本前,首先要弄清楚每個編碼單元的位元組序。例如收到一個“奎”的Unicode編碼是 594E,“乙”的Unicode編碼是4E59。如果我們收到UTF-16位元組流“594E”,那麼這是 “奎”還是“乙”?

如果檔案保 存時,選擇了使用 BOM,會使頁面顯示不正常。一般來說,php是不支援有BOM的,php檔案應該儲存為UTF-8無BOM類型

所以在儲存 UTF8 編碼PHP檔案時,不要使用 BOM。

http://www.bkjia.com/PHPjc/819539.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/819539.htmlTechArticle今天在用notepad++寫代碼時載入一個frameset架構模版後在頁面上一直不顯示該頁面,查看源碼後都正常。然後索性把裡面東西全刪掉隨便寫了...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.