PHP json_decode 無法解析特殊問號字符


 

在通過別人接口請求信息的時候,偶爾會遇到由於部分字符,如以下情況,則通過json_decode是會返回null的

但是這種情況通常不是由於整體編碼的問題,因為在解析的時候就是以utf-8的編碼解析的

 

 

這種情況通常會是中英文並存,但是部分空白字符無法識別。

 

通過對系統邏輯的觀察,應該是由於前段保存字符的時候出現了非utf-8能夠識別的字符,這種情況在json_encode中並不受影響,所以直接導致了接口獲取數據的時候出現非法字符

 

解決方案:

 

$return_data=mb_convert_encoding($return_data, "UTF-8","UTF-8");

  

對通過curl請求回來的字符在進行一次強制編碼,這種情況下原本的utf-8編碼的文字不會受到影響,同時utf-8無法識別的字符將會被強制解析,解析出來之后的字符就會變成英文符號的? ,

這樣就能夠順利的json_decode 了

 


免責聲明!

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



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