加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP中遇到BOM、feff编码导致json_decode函数无法解析问题

发布时间:2020-05-28 11:39:42 所属栏目:PHP 来源:互联网
导读:这篇文章主要介绍了PHP中遇到BOM、feff编码导致json_decode函数无法解析问题,json无法正常解析的同学可以看一下,是不是看不见的BOM编码导致的问题,需要的朋友可以参考下

昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析。 代码如下: 可能聪明的你已经猜到其中包含有不看见的特殊字符,在vim下查看: 代码如下:"title": "", "pinyin": "" } ] 发现在“title”前面有一个字符,如果你之前了解过BOM,应该知道这个特殊字符就是BOM,关于其介绍可以参考另一篇文章:.

在Linux下通过xxd命令查看文件内容的十六进制: 代码如下:

发现问题解决就很容易了,查找删除BOM就OK了,linux下BOM相关的命令有:

VIM的BOM操作 代码如下:

查找UTF-8编码中的BOM 代码如下: 还可以在svn的钩子中禁止提交BOM(以下代码来自网络,没校验) 代码如下:

REPOS="$1" TXN="$2"

SVNLOOK=/usr/bin/svnlook

FILES=`$SVNLOOK changed -t "$TXN" "$REPOS" | awk {'print $2'}`

for FILE in $FILES; do CONTENT=`$SVNLOOK cat -t "$TXN" "$REPOS" "$FILE"`

if echo $CONTENT | head -c 3 | xxd -i | grep -q '0xef,0xbb,0xbf'; then echo "BOM!" 1>&2 exit 1 fi done 最后提醒大家在wowdows下最好别使用记事本等会自动添加BOM的编辑器修改代码,容易引发一些问题。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读