首頁  >  文章  >  後端開發  >  php中關於json_decode無法解析特殊問號字元的解決

php中關於json_decode無法解析特殊問號字元的解決

黄舟
黄舟原創
2017-10-26 10:00:111978瀏覽

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