关于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 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

【Python 第32课】 写文件

来而不往,非礼也。有读,就要有写。 和把大象关进冰箱一样,写文件也需要三步: 打开文件; 把内容写入文件; 关闭文件。 打开文件我们昨天已经讲过。但python...

2544
来自专栏闻道于事

SpringBoot常用配置

前言:springboot集成了主流的第三方框架,但是需要使用springboot那一套配置方式。但是我这里只列举了非常非常常用的,可以看已发的几篇博客,慢慢会...

4307
来自专栏沈唁志

使用PHP解析读取网站RSS(Feed)内容

1382
来自专栏自动化测试实战

接口测试框架——第四篇

3515
来自专栏小灰灰

daemon函数结合脚本实现start, stop, restart

1. daemon函数 Daemon程序是一直运行的服务端程序,又称为守护进程。通常在系统后台运行,没有控制终端不与前台交互,Daemon程序一般作为系统...

1937
来自专栏iOS开发攻城狮的集散地

iOS 打包Framework

1555
来自专栏梧雨北辰的开发录

Swift开发: 常见问题汇总

1、Unknown class xxClass in Interface Builder file. 这个问题出现在使用Xib时设置自定义类名的时候。在参考OC...

2748
来自专栏青枫的专栏

java基础学习_概述_day01总结

============================================================================= ==...

621
来自专栏我是攻城师

如何在IDE中体验一把Java8?

3187
来自专栏mySoul

node web模块 (服务器端和客户端)

web服务器指网站服务器,指驻留在因特网上的某种程序,web浏览器的基本功能,提供信息浏览服务

1167

扫码关注云+社区