本文目錄一覽:
php 輸出json及顯示json中的中文漢字詳解及實例
php
輸出json及顯示json中的中文漢字
在php中,我們經常需要將數組輸出json,只需要使用json_encode函數處理一下數組即可,但有的時候數組裡面有中文,使用json_encode函數處理後中文字元被編碼成了Unicode,如何才能在json中顯示中文呢?請看下文。
首先介紹一下php輸出json格式:
一種最簡單的用法,就是把數組直接輸出為json,如下:
?php
$arr
=
array(‘p1’=’ni”hao’,’p2’=2,’ch’=’碼農你好!’);
$json
=
json_encode($arr);
echo
$json;
?
輸出的結果為:
{“p1″:”ni\”hao”,”p2″:2,”ch”:”\u7801\u519c\u4f60\u597d\uff01″}
這裡要注意:
雙引號在json中會被自動編碼為\”,這個很好理解,js中字元串中是不允許出來單引號、雙引號和反斜杠的。
中文字元被編碼成了Unicode
如果是寫介面,那直接這樣輸出就夠了,中文無需去做處理。等到了客戶端,再去把Unicode的中文轉成漢字即可。但如果要在伺服器端直接輸出漢字出來,那我們可以做如下處理。
?php
$arr
=
array(‘p1’=’nihao’,’p2’=2,’ch’=’碼農你好!’);
$json
=
json_encode($arr);
echo
decodeUnicode($json);
function
decodeUnicode($str){
return
preg_replace_callback(‘/\\\\u([0-9a-f]{4})/i’,
create_function(
‘$matches’,
‘return
mb_convert_encoding(pack(“H*”,
$matches[1]),
“UTF-8”,
“UCS-2BE”);’
),
$str);
}
?
輸出:
{“p1″:”ni\”hao”,”p2″:2,”ch”:”碼農你好!”}
這個操作很簡單,其實就是把輸出結果匹配一下,把Unicode還原成了漢字。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
如何在PHP中解析json
PHP裡面有json_encode(數組)可以把數組給轉換成JSON字元串,
而json_decode(JSON字元串,boolean)可以把JSON字元串轉換成數組或者對象類型,第二個參數boolean默認為false表示對象類型,true表示解析為數組類型通過下表訪問
如何在PHP中返回Json數據
概述
不對。
返回json用的json_encode()方法沒錯,但是需要在頭部聲明格式。
代碼解析
php返回需要用json_encode()方法來將需要轉換的字元串轉換成json編碼格式(注意:僅僅更換文件內容,而返回的文件依然為文本格式且編碼為gtk)
所以,這裡需要在php頭部聲明
header(‘Content-Type:text/json;charset=utf-8’);
拓展內容
json
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網路傳輸效率。
json通常被作為配置文件,常見還有.ini
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272236.html