您好,登錄后才能下訂單哦!
本篇文章為大家展示了PHP中怎么使用 json_encode函數進行中文轉換,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
json_encode 和 json_decode
< ?PHP
$json = array (
0 =>
array (
'id' => '13',
'name' => '乒乓球',
),
1 =>
array (
'id' => '17',
'name' => '籃球',
)
)
?>
如果直接用PHP json_encode函數
< ?PHP echo json_encode($json); ?>
結果為:
< ?PHP
[{"id":"13","name":null}
,{"id":"13","name":null}]?>
可以看到漢字沒有被轉義 都為null,這是因為json僅僅轉義encoding編碼,故上面語句應該先轉換編碼
< ?PHP
foreach ($ajax as $key=>$val)
{
$ajax[$key]['name'] =
urlencode($val['name']);}
echo json_encode($json);
?>
客戶端js代碼
< script type="text/javascript">
function getsort(obj)
{
$.ajax(
{
type : "GET",
url : "< ?=$this->baseUrl?>/index/getajax",
data : "c=" obj.value,
success : function(json)
{
var json=eval(json);
var html = '< select>';
$.each(json, function(k)
{
html = '< option value="'
json[k]['id'] '">'
decodeURI(json[k]['name']) '< /option>';});
html ="< /select>";
$('#sort').html(html);
}
}
)
}
< /script>
用上面的代碼js會報錯 說編碼不符合標準
原因是因為js 中decodeURI 僅僅支持utf8 轉碼。所以 ,PHP json_encode函數的代碼應該為下面的代碼
< ?PHP
foreach ($ajax as $key=>$val)
{
$ajax[$key]['name'] =
urlencode(iconv('gb2312',
'utf-8',$val['name']));}
echo json_encode($json);
?>
上述內容就是PHP中怎么使用 json_encode函數進行中文轉換,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。