UTF-8 的 BOM 檔頭

閱讀時間約 2 分鐘
UTF-8 萬國碼在規格定義時,有建議在文件的開始處,加入位元組順序記號 (BOM, byte-order mark)。但 Plain Text 文件,就是全部都是文字,將它加入檔頭標記,就不是純文字檔案了,所以一般都沒有實作成有 BOM 檔頭的檔案。
以這支 PHP 程式為例:
<?php

echo 'Aha.......'.PHP_EOL;

?>
若存成 BOM,在 Binary (或 Hex) 格式時,會出現 0xEF 0xBB 0xBF 三個 Bytes 的檔頭。如下圖:
BOM 檔頭程式檔案, 紅框處的 0xEF 0xBB 0xBF 就是 BOM
一般是存成沒有 BOM 檔頭的檔案,如下圖:
無 BOM 檔頭的程式檔案

解法一:存成有/無 BOM 的格式

一些編輯器 (諸如 UltraEdit, Visual Studio) 內定存檔是一般無 BOM 格式,但可以在存檔時,指定要存成 BOM 格式。如下面二張圖:
UltraEdit 在 Save as 時,指定登入 BOM 選項
Visual Studio 可以 Save as 指定 with (有 BOM) 或 without signature (無 BOM) 的 UTF-8

解法二:改設定讓程式可以判斷 BOM

PHP 直譯器,內定是不能跑有 BOM 檔頭的 PHP script 程式,若一定要跑有 BOM 檔頭的程式,就要改設定,將 php.ini 裡的 zend.multibyte 設成 On
; If enabled, scripts may be written in encodings that are incompatible with
; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
; encodings. To use this feature, mbstring extension must be enabled.
;zend.multibyte = Off
zend.multibyte = On
php.ini 內定 zend.multibyte 是 Off,設定成 On 時,遇到有 BOM 檔頭的程式也可以順利跑

解法三:寫程式去掉所有檔案的 BOM 檔頭


網路上有些文件說明如何用 PHP 程式去掉有 BOM 檔頭的 PHP 程式。但是這樣就比較麻煩了。
2會員
26內容數
留言0
查看全部
發表第一個留言支持創作者!
WILSON PENG的沙龍 的其他內容
要怎麼判斷是奇數還是偶數? 除以 2 有餘數的是奇數,無餘數的是偶數。 有沒有更快的方法?
當使用 Wordpress 架站時,系統至少會有四層漏洞:
比較早期的 Ledger 做的是 USB 的實體錢包,接上 PC 可以操作。之後 Ledger Nano X 可以接手機操作。 庫幣科技有限公司發展了用藍芽連手機的卡片型實體錢包:CoolWallet S。目前它與 MyEtherWallet、幣安交易所、火币网和 OKB 有合作聯名款錢包。
Ruckus 若用內建的 ZoneFlex Solo Access Point,在 MacOSX 上用 FireFox 輸入它的網址 (內定是 https://192.168.0.1/ ),帳號密碼再正確也無法 Login 進去。
從 Router 出去到目的地網站,中間到底有沒有人窺探您的資料? 若從 DNS 開始,都用 HTTPS,就可以將資料都加密起來,防止中間有人惡意搞鬼。
先簡單說結論: 一個等號是賦值;二個等號是等於;三個等號是相同。
要怎麼判斷是奇數還是偶數? 除以 2 有餘數的是奇數,無餘數的是偶數。 有沒有更快的方法?
當使用 Wordpress 架站時,系統至少會有四層漏洞:
比較早期的 Ledger 做的是 USB 的實體錢包,接上 PC 可以操作。之後 Ledger Nano X 可以接手機操作。 庫幣科技有限公司發展了用藍芽連手機的卡片型實體錢包:CoolWallet S。目前它與 MyEtherWallet、幣安交易所、火币网和 OKB 有合作聯名款錢包。
Ruckus 若用內建的 ZoneFlex Solo Access Point,在 MacOSX 上用 FireFox 輸入它的網址 (內定是 https://192.168.0.1/ ),帳號密碼再正確也無法 Login 進去。
從 Router 出去到目的地網站,中間到底有沒有人窺探您的資料? 若從 DNS 開始,都用 HTTPS,就可以將資料都加密起來,防止中間有人惡意搞鬼。
先簡單說結論: 一個等號是賦值;二個等號是等於;三個等號是相同。
你可能也想看
Thumbnail
作家 Morgan Housel 在《華爾街日報》中提出一個觀點:我們是用理解知識的方式在思考、學習金錢觀,而不是用理解心智與行為模式的方式學習理財。這段話讓我意識到,我們的財務決策並非總是理性的,情緒因素也扮演著重要角色。通過掌握金錢心理學,能夠幫助我們改善用錢習慣,使財務決策更為理性和長遠。
Thumbnail
隨著遊戲技術的快速發展,Alienware推出了新款電競筆電,在選擇遊戲筆記型電腦時,不同型號都擁有獨特的優勢和侷限。本文介紹了幾款CP值最高的電競筆電,並對其硬體、螢幕規格以及攜帶便利性進行了全面分析。無論你是追求極致遊戲體驗的專業玩家還是日常使用者,Alienware都提供了各具特色的選擇。
「簡單就好,也就是費用這部分不用太多,我那些看起來貴的行頭也是為了工作所需,我沒有那麼奢侈虛榮的。」女友私下的穿著打扮確實很樸素一般,可愛的女友怎麼穿都好看,我都喜歡。 「我也會陪你一起長大的,而且我最近考慮搬出來住喔!」說完便踮起腳尖親了我的臉頰。 陪我長大和要搬出來住是什麼意思?我好像開
Thumbnail
本篇文章講解了字符編碼的基礎知識,包括ASCII, Unicode 和 UTF-8的誕生背景、解決的問題以及轉換方式。瞭解這些知識有助於解決在讀檔案時用錯誤的編碼方式轉換就會出現亂碼等問題。文章內容涉及電腦技術中的字符編碼相關歷史緣由,可幫助讀者解決相關疑問。
現在此時在我前面親密地手勾手走著,說說笑笑的兩位是我的女友和...老妹,她們感情什麼時候變這麼好了? 『妳該去補習了吧!』我拿出哥哥的威嚴命令著。「時間又還沒到,幹嘛趕我?姐姐,他都欺負我啦!」老妹裝起可憐了,只見女友輕輕摸著這屁孩的頭,太可惡了我也想被摸摸頭啊! 屁孩終於去補習了,我真想說
因為太矛盾 但大家還是順著這樣子做 代代的做 當有明眼人挑出毛病來 大家也許知道不該這麼做了 但還是接著做 荒誕 積非成是 當世間是混濁的 清白就成了一種罪了
Thumbnail
之前寫完《如何把工作快狠準地搞定 (上)》、《如何把工作快狠準地搞定 (下)》兩篇文章後,除了得到一些私訊迴響外,我覺得它們也讓我去檢視我在工作以外的日常生活如何運作,特別是做家事這點 除了自己的提升,別忘了「工欲善其事,必先利其器」 你去問大部分的人,不論性別年齡,如果他/她說自己很喜歡做家事,通
上週五及本周一美股大跌,尤其是費半重挫逾6%及3%,台積電ADR兩天跌掉6、7%,影響到今天台股盤勢,護國神山2330台積電首當其衝,今天收在401.5元,台股加權指數大盤596.25點,收到13,106.03點,成交金額2,177.6億元,收盤創2年新低。 一、mobile01.com論壇理財 資
Thumbnail
我們不能決定時代要不要善待我們;我們只能決定要不要善待這個時代及彼此。 #讓善待自己和彼此的文字陪伴你,以文字養心 點亮內心那盞溫暖的燈,方格子《蘇絢慧的療癒時光》的心理深度書寫,成為你心靈安穩的最療癒時光。 【絢慧私語】 2001年我出版了第一本著作《死亡如此靠近》,這之後的每一年,我維持著一年有
Thumbnail
不知道為什麼想到「麻將相伴」,好久沒群聚了嗎?哈哈。😂😂 好久沒用手機發文。
Thumbnail
作家 Morgan Housel 在《華爾街日報》中提出一個觀點:我們是用理解知識的方式在思考、學習金錢觀,而不是用理解心智與行為模式的方式學習理財。這段話讓我意識到,我們的財務決策並非總是理性的,情緒因素也扮演著重要角色。通過掌握金錢心理學,能夠幫助我們改善用錢習慣,使財務決策更為理性和長遠。
Thumbnail
隨著遊戲技術的快速發展,Alienware推出了新款電競筆電,在選擇遊戲筆記型電腦時,不同型號都擁有獨特的優勢和侷限。本文介紹了幾款CP值最高的電競筆電,並對其硬體、螢幕規格以及攜帶便利性進行了全面分析。無論你是追求極致遊戲體驗的專業玩家還是日常使用者,Alienware都提供了各具特色的選擇。
「簡單就好,也就是費用這部分不用太多,我那些看起來貴的行頭也是為了工作所需,我沒有那麼奢侈虛榮的。」女友私下的穿著打扮確實很樸素一般,可愛的女友怎麼穿都好看,我都喜歡。 「我也會陪你一起長大的,而且我最近考慮搬出來住喔!」說完便踮起腳尖親了我的臉頰。 陪我長大和要搬出來住是什麼意思?我好像開
Thumbnail
本篇文章講解了字符編碼的基礎知識,包括ASCII, Unicode 和 UTF-8的誕生背景、解決的問題以及轉換方式。瞭解這些知識有助於解決在讀檔案時用錯誤的編碼方式轉換就會出現亂碼等問題。文章內容涉及電腦技術中的字符編碼相關歷史緣由,可幫助讀者解決相關疑問。
現在此時在我前面親密地手勾手走著,說說笑笑的兩位是我的女友和...老妹,她們感情什麼時候變這麼好了? 『妳該去補習了吧!』我拿出哥哥的威嚴命令著。「時間又還沒到,幹嘛趕我?姐姐,他都欺負我啦!」老妹裝起可憐了,只見女友輕輕摸著這屁孩的頭,太可惡了我也想被摸摸頭啊! 屁孩終於去補習了,我真想說
因為太矛盾 但大家還是順著這樣子做 代代的做 當有明眼人挑出毛病來 大家也許知道不該這麼做了 但還是接著做 荒誕 積非成是 當世間是混濁的 清白就成了一種罪了
Thumbnail
之前寫完《如何把工作快狠準地搞定 (上)》、《如何把工作快狠準地搞定 (下)》兩篇文章後,除了得到一些私訊迴響外,我覺得它們也讓我去檢視我在工作以外的日常生活如何運作,特別是做家事這點 除了自己的提升,別忘了「工欲善其事,必先利其器」 你去問大部分的人,不論性別年齡,如果他/她說自己很喜歡做家事,通
上週五及本周一美股大跌,尤其是費半重挫逾6%及3%,台積電ADR兩天跌掉6、7%,影響到今天台股盤勢,護國神山2330台積電首當其衝,今天收在401.5元,台股加權指數大盤596.25點,收到13,106.03點,成交金額2,177.6億元,收盤創2年新低。 一、mobile01.com論壇理財 資
Thumbnail
我們不能決定時代要不要善待我們;我們只能決定要不要善待這個時代及彼此。 #讓善待自己和彼此的文字陪伴你,以文字養心 點亮內心那盞溫暖的燈,方格子《蘇絢慧的療癒時光》的心理深度書寫,成為你心靈安穩的最療癒時光。 【絢慧私語】 2001年我出版了第一本著作《死亡如此靠近》,這之後的每一年,我維持著一年有
Thumbnail
不知道為什麼想到「麻將相伴」,好久沒群聚了嗎?哈哈。😂😂 好久沒用手機發文。