Rumah >pembangunan bahagian belakang >tutorial php >PHP中遇到BOM、<feff>编码导致json_decode函数无法解析问题_php技巧
昨天同事遇到一个奇怪的问题,就是以下代码,无法通过JSON校验,也无法通过PHP的json_decode函数解析。
在Linux下通过xxd命令查看文件内容的十六进制:
发现问题解决就很容易了,查找删除BOM就OK了,linux下BOM相关的命令有:
VIM的BOM操作
查找UTF-8编码中的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