在svn上提交了一个文件trac进行codereview 的时候,发现其中的中文是乱码,猜测是文件编码的问题,用emedit查看之后,发现这个文件的编码时utf-8 (无bom)格式,然后对比了一下其它显示正确的文件格式:utf-8(含bom),问题就是bom有无的问题,使用emedit保存完后,调查了一下这个bom是什么.
"UTF- 8编码的文件中,BOM占三个字节。如果用记事本把一个文本文件另存为UTF-8编码方式的话,用UE打开这个文件,切换到十六进制编辑状态就可以看到开 头的FFFE了。这是个标识UTF-8编码文件的好办法,软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM。可 是,还是有很多软件不能识别BOM。"
"UTF-8 BOM又叫UTF-8 签名,其实UTF-8的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上"
才发现这个bom在utf-8格式的文件中代表了头三个字节“EF BB BF”,很多文件就没有这个概念,经常会被当做数据进行处理。php好像暂时不支持,不能处理带bom的utf-8文件。
所以说,数据文件最好不要带bom,当然你如果知道bom,处理程序中做了处理那就是另一说了。,
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、BGP机房服务器托管、等保安全、私有云建设等企业级互联网基础服务,欢迎联系:028-86922220
本文名称:关于文件的UTF-8的BOM标记问题记录-创新互联
分享网址:
http://cdweb.net/article/dpipeg.html