作者hiigara (西亚加拉)
看板java
标题Re: [问题] txt UTF-8 bom 的问题
时间Tue Jul 8 09:13:42 2014
※ 引述《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>'
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.227.55.54
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1404782025.A.41D.html
※ 编辑: hiigara (61.227.55.54), 07/08/2014 09:14:10
1F:推 LPH66:其实不会有乱码字, 因为 \ufeff 实际上是 ZWSP 07/08 13:38
2F:→ LPH66:Zero-width space 零宽度空白, 所以即使当成正常方式解码 07/08 13:39
3F:→ LPH66:也不会有乱码字出现 (其实 BOM 会选这个字有一半也是这理由) 07/08 13:40
4F:→ LPH66:如果是根本没解码的话全篇乱码也不差这一个 07/08 13:40
5F:推 LPH66:修正: \ufeff 叫做 ZWNBSP, zero-width non-breaking space 07/08 13:44
6F:→ LPH66:不过那似乎是旧的 unicode 定义, 现在新版的 \ufeff 就单纯 07/08 13:44
7F:→ LPH66:只用来当做 BOM 用了 07/08 13:44
8F:推 dream1124:推 07/11 21:02