PHP去除BOM頭的方法

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 ;
相關文章
相關標籤/搜索