首页->正文

UTF8头信息BOM导致的json输出问题

2011-08-08 -Web开发 标签: 协议 javascript

程序间通过json文件传递信息,但生成的json格式数据无法被正确解析出来,查看生成json的模板文件确认为utf8格式,把生成的json内容直接拷贝出来则可以正确解析,但是通过读取文件的方式则无法解析。通过vim打开json文件,果然在头部发现特殊字符“<feff>”(十六进制下查看对应的是EF BB BF),删除后正常。

此前遇到过session_start()的问题,提示header之前不能有输出(当然可以通过output_buffering来避免),同样也是因为头信息导致。

如何避免此类问题呢?

首先,确保使用的编辑器保存utf8格式时选择无BOM方式。
其次,在提交代码的使用一定要注意比较不同,特别是文件开头的位置 ,如果发现显示的内容一样,但仍被高亮标出不同时,就要注意是否为这个问题了。

关于utf8的BOM详细介绍见:
字节顺序记号(byte-order mark,BOM)
关于检测删除文件BOM,设置svn中自动去除BOM的见这篇文章:
UTF-8编码中BOM的检测与删除

下一篇 万网域名转入godaddy流程

上一篇 配置Varnish支持多个后端域名

相关文章

页面跳转的方式总结

php增加Last-Modified为何无效

用js统一给链接加属性

Redis协议说明与解析--php篇

Fastcgi协议定义解释与说明

文章分类

开发小提示

  • 1:Mongodb中通过db.yourCollectionName. dataSize()查看某个文档的大小
  • 2:linux下用reset命令恢复查看二进制文件导致的命令行乱码
  • 3:查看MySQL表的索引情况show index from tableName
  • 更多...

交流

  • wangnow(a)126.com