疑難答疑 PHP服務端返回Json問題
作者:佚名
我們將會在這篇文章中為大家詳細解讀有關PHP服務端返回Json問題,主要是以一個范例來講解在返回漢字時出現(xiàn)空字符的解決辦法。
我們需要在不斷的經(jīng)驗積累中去完善我們的編程思路,靈活運用PHP語言來幫助我們實現(xiàn)需要的功能。用Extjs接收PHP服務端返回的Json結果時,發(fā)現(xiàn)只要是漢字(從SQLServer取得)都是空字符,對于這個PHP服務端返回Json問題,非??鄲馈?t#
后來看json_encode的文檔才知道,它只能編碼UTF-8的字符。這個問題就是返回的字符是GB2312,怎么變?yōu)閁TF-8,并且最好是將整個數(shù)組進行UTF-8的轉(zhuǎn)換。經(jīng)過搜索有以下代碼解決PHP服務端返回Json問題:
- function encodeUTF8($array)
- {
- foreach($array as $key=>$value)
- {
- if(!is_array($value))
- {
- $array[$key]=mb_convert
_encoding($value,"UTF-8","GBK"); - }
- else
- {
- encodeUTF8($array[$key]);
- }
- }
- return $array;
- }
每次返回結果時:
- echo '{"total":"'.$rscount.'
","results":'.json_encode
(encodeUTF8($result)).'}';
以上這段代碼就是PHP服務端返回Json問題的具體解決方法。
責任編輯:曹凱
來源:
cnblogs.com