Re: [問題] txt UTF-8 bom 的問題

作者: hiigara (石頭)   2014-07-08 09:13:42
※ 引述《pupuliao (pupu)》之銘言:
: code :http://goo.gl/NVlLN3
: 這是我自己寫得一支小程式
: 會去論壇抓文章後 存成txt檔
: 最近聽到有人反映說,如果丟回瀏覽器讀取,會變成亂碼
: 要重新設定編碼
: 我發現是 我好像沒有設定BOM
: 所以想問一下,我要如何在寫入前,設定BOM
: 謝謝 OTZ
檔案開頭寫入一個"\ufeff",這個「字」就是 BOM
然後你可能會收到另一群人反應「檔案開頭出現一個奇怪的亂碼字」
另,要丟給瀏覽器看的話,我會建議不要加 BOM,而是寫成 html 檔案
- 開頭加上 '<html><head><meta charset="UTF-8"></head><body>'
- 中間把每個斷行(\n 或 \r\n)都替換成 '<br>'
- 結尾加上 '</body></html>'
作者: LPH66 (-6.2598534e+18f)   2014-07-08 13:38:00
其實不會有亂碼字, 因為 \ufeff 實際上是 ZWSPZero-width space 零寬度空白, 所以即使當成正常方式解碼也不會有亂碼字出現 (其實 BOM 會選這個字有一半也是這理由)如果是根本沒解碼的話全篇亂碼也不差這一個修正: \ufeff 叫做 ZWNBSP, zero-width non-breaking space不過那似乎是舊的 unicode 定義, 現在新版的 \ufeff 就單純只用來當做 BOM 用了
作者: dream1124 (全新開始)   2014-07-11 21:02:00

Links booklink

Contact Us: admin [ a t ] ucptt.com