首頁 >後端開發 >php教程 >PHP json_decode 無法解析特殊問號字元的方法

PHP json_decode 無法解析特殊問號字元的方法

一个新手
一个新手原創
2017-10-25 13:09:112251瀏覽

 在透過別人介面請求訊息的時候,偶爾會遇到由於部分字符,如以下情況,則透過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 了

以上是PHP json_decode 無法解析特殊問號字元的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn