突然正常的項目報這個錯誤;
因為最近在遷移新的服務器堡壘機UTF-8編碼有些問題,一直在調整服務器編碼問題;以為是服務器配置造成的;
排查了半天本機一樣有問題,本地最近又沒有調整過 系統編碼應該不會出現此問題;
報錯界面:
[0] InvalidArgumentException in Json.php line 39
Malformed UTF-8 characters, possibly incorrectly encoded
最終排查發現不是系統的問題:
是碰巧的一個字段在使用時候:中文截取的問題;
原因:substr 與 mb_substr 的使用問題;
錯誤的截取中文造成代碼異常不能 正常轉換;一定要注意!!!
修改前代碼:
$val['linked_teacher'] = nameCryptic(substr($val['linked_teacher'],1,4));
修改后代碼:
$val['linked_teacher'] = nameCryptic(mb_substr($val['linked_teacher'],1,4));
唉,這個bug 大意了;
--------------------------------------------------------------------
一些其他的答案:
對資源進行轉碼:
$json = html_entity_decode($source);
$data = json_decode($json,true);
文章來源:劉俊濤的博客 歡迎關注公眾號、留言、評論,一起學習。
__________________________________________________________________________________
若有幫助到您,歡迎點擊推薦,您的支持是對我堅持最好的肯定(*^_^*)