PHP去除BOM頭的方法


BOM頭是UTF-8來告訴編輯器:我是UTF8編碼。它的編碼是\xEF\xBB\xBF

但是PHP在設計之初並沒有考慮到BOM頭的問題,所以在編解碼的時候很容易出現問題

 

比如今天遇到的問題,json_decode,當解碼的string有BOM頭的時候json_decode就解析失敗,返回NULL。(為什么不自動檢測並去除BOM頭呢。。。小吐槽)

試了兩種方式能去除掉:

 

$result = trim($result, "\xEF\xBB\xBF");
print_r(json_decode($result, true));
exit;

 

還有一種比較矬:

$result = @iconv("UTF-8", "GBK//IGNORE", $result);
$result = @iconv("GBK", "UTF-8//IGNORE", $result);

print_r(json_decode($result, true));
exit;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM