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