BOM頭是UTF-8來告訴編輯器:我是UTF8編碼。它的編碼是\xEF\xBB\xBFweb
可是PHP在設計之初並無考慮到BOM頭的問題,因此在編解碼的時候很容易出現問題json
好比今天遇到的問題,json_decode,當解碼的string有BOM頭的時候json_decode就解析失敗,返回NULL。(爲何不自動檢測並去除BOM頭呢。。。小吐槽)編輯器
試了兩種方式能去除掉:編碼
1
2
3
|
$result
= trim(
$result
,
"\xEF\xBB\xBF"
);
print_r(json_decode(
$result
, true));
exit
;
|
還有一種比較矬:spa
1
2
3
4
5
|
$result
= @iconv(
"UTF-8"
,
"GBK//IGNORE"
,
$result
);
$result
= @iconv(
"GBK"
,
"UTF-8//IGNORE"
,
$result
);
print_r(json_decode(
$result
, true));
exit
;
|