復(fù)制代碼 代碼如下:
[
{
"title": "",
"pinyin": ""
}
]

可能聰明的你已經(jīng)猜到其 " /> 欧美整片华人play,性夜夜春夜夜爽AA片A,caoporn 超碰免费视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP中遇到BOM、<feff>編碼導(dǎo)致json_decode函數(shù)無(wú)法解析問(wèn)題

昨天同事遇到一個(gè)奇怪的問(wèn)題,就是以下代碼,無(wú)法通過(guò)JSON校驗(yàn),也無(wú)法通過(guò)php的json_decode函數(shù)解析。
復(fù)制代碼 代碼如下:
[
    {
        "title": "",
        "pinyin": ""
    }
]

可能聰明的你已經(jīng)猜到其中包含有不看見(jiàn)的特殊字符,在vim下查看:
復(fù)制代碼 代碼如下:
[
    {
        <feff>"title": "",
        "pinyin": ""
    }
]
發(fā)現(xiàn)在“title”前面有一個(gè)字符<feff>,如果你之前了解過(guò)BOM,應(yīng)該知道這個(gè)特殊字符就是BOM,關(guān)于其介紹可以參考另一篇文章:計(jì)算機(jī)中的字符串編碼、亂碼、BOM等問(wèn)題詳解.


在Linux下通過(guò)xxd命令查看文件內(nèi)容的十六進(jìn)制:
復(fù)制代碼 代碼如下:
0000000: 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20  [.    {.       
0000010: ef bb bf 22 74 69 74 6c 65 22 3a 20 22 22 2c 0a  ..."title": "",.
0000020: 20 20 20 20 20 20 20 20 22 70 69 6e 79 69 6e 22          "pinyin"
0000030: 3a 20 22 22 0a 20 20 20 20 7d 0a 5d 0a           : "".    }.].
可以看到剛才那個(gè)"title"前面的特殊字符十六進(jìn)制為:ef bb bf,正是標(biāo)記UTF-8的BOM。BOM的含義如下:
復(fù)制代碼 代碼如下:
開(kāi)頭字節(jié)            Charset/encoding
EF BB BF        UTF-8
FE FF           UTF-16/UCS-2, little endian(UTF-16LE)
FF FE           UTF-16/UCS-2, big endian(UTF-16BE)
FF FE 00 00     UTF-32/UCS-4, little endian.
00 00 FE FF     UTF-32/UCS-4, big-endia

發(fā)現(xiàn)問(wèn)題解決就很容易了,查找刪除BOM就OK了,linux下BOM相關(guān)的命令有:

VIM的BOM操作
復(fù)制代碼 代碼如下:
#添加BOM
:set bomb
#刪除BOM
:set nobomb
#查詢BOM
:set bomb?

查找UTF-8編碼中的BOM
復(fù)制代碼 代碼如下:grep -I -r -l $'/xEF/xBB/xBF' /path
還可以在svn的鉤子中禁止提交BOM(以下代碼來(lái)自網(wǎng)絡(luò),沒(méi)校驗(yàn))
復(fù)制代碼 代碼如下:
#!/bin/sh

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下最好別使用記事本等會(huì)自動(dòng)添加BOM的編輯器修改代碼,容易引發(fā)一些問(wèn)題。

php技術(shù)PHP中遇到BOM、&amp;lt;feff&amp;gt;編碼導(dǎo)致json_decode函數(shù)無(wú)法解析問(wèn)題,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色婷婷综合久久久久中文一区二区 | 国偷自产视频一区二区久 | 古装性艳史电影在线看 | 佐山爱痴汉theav | 国产成人精品免费视频大全办公室 | 麻豆最新免费版 | 97午夜伦伦电影理论片 | 女厕所边摸边吃奶边做爽视频 | 国产成人精品视频 | 国产高清视频免费在线观看 | 轻点慢点1V2啊高H抽插 | 亚洲一区精品伊人久久伊人 | 边做边爱BD免费看片 | 国产亚洲精品久久久久久国模美 | 爱穿丝袜的麻麻3d漫画acg | 九九热在线观看 | 国产人妻精品午夜福利免费不卡 | 中文字幕蜜臀AV熟女人妻 | 国产强奷伦奷片 | 国内视频在线精品一区 | 伊人青青久 | 日本xxxxxx片免费播放18 | 亚洲伊人国产 | 九九99国产香蕉视频 | 亚洲国产成人一区二区在线 | 国产av在在免费线观看美女 | 国产精品久久久久久人妻香蕉 | 暖暖 视频 免费 高清 在线观看 | 日本G奶乳液汁 | 美女动态图真人后进式 | 女子初尝黑人巨嗷嗷叫 | 消息称老熟妇乱视频一区二区 | 成人在线观看播放 | 国产精品美女久久久久AV超清 | 亚洲中字幕永久在线观看 | 最美女人体内射精一区二区 | 18美女腿打开无遮软件 | 俄罗斯极品hd | 亚洲在线无码免费观看 | 护士喂我吃乳液我脱她内裤 | 全免费午夜一级毛片 |