关于Bom头的一些坑

时间:2022-05-04
本文章向大家介绍关于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);