json_encode 處理中文亂碼

$data="JSON中文";   
     $newData=iconv("GB2312","UTF-8//IGNORE",$data);   

//ignore的意思是忽略轉換時的錯誤,如果沒有ignore參數,所有該字符後面的字符都不會被保存。   
     //或是("GB2312","UTF-8",$data);        echo $newData;   


<?php   
    $testJSON=array('name'=>'中文字符串','value'=>'test');   
    //echo json_encode($testJSON);   
    foreach ( $testJSON as $key => $value ) {   
        $testJSON[$key] = urlencode ( $value );   
    }   
    echo urldecode ( json_encode ( $testJSON ) );   
?>   

查看輸出結果爲:

 

{“name”:”中文字符串”,”value”:”test”}
到此,成功地輸出了中文字符。隨意使用json_encode吧。這樣子在PHP後臺輸出的JSON字符串在前臺javascript中Ajax接收後eval出來也不會出現中文亂碼,因爲js在處理JSON格式數據是也是以UTF8的形式進行的,與PHP類似,故接收PHP頁面的JSON字符串不會出現問題。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章