关于Bom头的一些坑

最近在使用php的file_get_contents去掉用第三方接口的,神奇的发现返回来的json数据无法json_decode的,不管用var_dump,echo,print_r输出看起来都没有一点问题,于是将输出值复制到编译器中,直接json_decode,发现竟然成功了,于是花了十几分钟找茬。。其中发现使用ctrl+D竟然没法把两个选中,于是我感觉到,是不是有一些我看不见的东西存在。

上网查了一下,发现这是bom头,至于什么是什么是bom头?

在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。

解决方案也有了,如下:

json_decode(trim($data,chr(239).chr(187).chr(191)),true);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微服务

C#并发编程实例讲解-概述(01)

在工作中经常遇到需要并发编程的实例,一直没有时间来整理,现在空了下来,个人整理对并发一下理解。 关于并发编程的几个误解 误解一:并发编程就是多线程 实际上多线...

27310
来自专栏小詹同学

Python爬虫系列之一——我有100万?

高中生都开始写爬虫了,可见爬虫有多热门,一个某某985高校的研究生不学习学习爬虫实在是有些落伍啦~ ? 一、网络爬虫和url ...

3596
来自专栏pangguoming

流媒体Red5服务自定义媒体文件路径

使用bean对自己的项目进行配置,更换默认的视频播放目录和视频录制目录.在0.6版的时候,

914
来自专栏Pulsar-V

PHP微信开发入门(二)

微信服务器消息推送 微信的消息推送方式是客户操作微信发生一系列事件,然后腾讯微信服务器发送一个XML数据POST请求把事件描述发送到你填写的服务器URL上,你的...

2986
来自专栏大内老A

《WCF技术剖析》博文系列汇总[持续更新中]

近半年以来,一直忙于我的第一本WCF专著《WCF技术剖析(卷1)》的写作,一直无暇管理自己的Blog。在《WCF技术剖析(卷1)》写作期间,对WCF又有了新的感...

1678
来自专栏XAI

【Python3-API】情感倾向分析示例代码

Python3-urllib3-API情感倾向分析示例代码 AccessToken获取可以参考:http://ai.baidu.com/forum/topic/...

2479
来自专栏大史住在大前端

大前端的自动化工厂(3)—— babel

babel是ES6+语法的编译器,官方网址:www.babeljs.io,用于将旧版本浏览器无法识别的语法和特性转换成为ES5语法,使代码能够适用更多环境。

1503
来自专栏ytkah

finecms栏目文章页seo设置

  finecms栏目页和文章页默认的标题是页面title_二级栏目title_一级栏目title_网站名称(比如:finecms怎么设置标题_finecms二...

2686
来自专栏枕边书

解决问题,别扩展问题

最近有个需求需要统计一个方法的耗时,这个方法前后各打出一条日志,类似于 [INFO] 20180913 19:24:01.442 method start/en...

541
来自专栏微信公众号:Java团长

深入理解Java虚拟机到底是什么

作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。...

1253

扫码关注云+社区