php 輸出json及顯示json中的中文漢字詳解及實例
php 輸出json及顯示json中的中文漢字
在php中,我們經(jīng)常需要將數(shù)組輸出json,只需要使用json_encode函數(shù)處理一下數(shù)組即可,但有的時候數(shù)組里面有中文,使用json_encode函數(shù)處理后中文字符被編碼成了Unicode,如何才能在json中顯示中文呢?請看下文。
首先介紹一下php輸出json格式:
一種最簡單的用法,就是把數(shù)組直接輸出為json,如下:
<?php
$arr = array('p1'=>'ni"hao','p2'=>2,'ch'=>'碼農(nóng)你好!');
$json = json_encode($arr);
echo $json;
?>
輸出的結(jié)果為:
{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}
這里要注意:
雙引號在json中會被自動編碼為\",這個很好理解,js中字符串中是不允許出來單引號、雙引號和反斜杠的。
中文字符被編碼成了Unicode
如果是寫接口,那直接這樣輸出就夠了,中文無需去做處理。等到了客戶端,再去把Unicode的中文轉(zhuǎn)成漢字即可。但如果要在服務(wù)器端直接輸出漢字出來,那我們可以做如下處理。
<?php
$arr = array('p1'=>'nihao','p2'=>2,'ch'=>'碼農(nóng)你好!');
$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":"碼農(nóng)你好!"}
這個操作很簡單,其實就是把輸出結(jié)果匹配一下,把Unicode還原成了漢字。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- php實現(xiàn)的http請求封裝示例
- php使用FFmpeg接口獲取視頻的播放時長、碼率、縮略圖以及創(chuàng)建時間
- php 時間time與日期date之間的使用詳解及區(qū)別
- 深入了解PHP中的Array數(shù)組和foreach
- PHP運行模式匯總
- PHP數(shù)組的定義、初始化和數(shù)組元素的顯示實現(xiàn)代碼
- PHP中獲取文件創(chuàng)建日期、修改日期、訪問時間的方法
- PHP利用超級全局變量$_GET來接收表單數(shù)據(jù)的實例
- PHP利用超級全局變量$_POST來接收表單數(shù)據(jù)的實例
- php使用file函數(shù)、fseek函數(shù)讀取大文件效率對比分析
- 前端實現(xiàn)文件的斷點續(xù)傳(前端文件提交+后端PHP文件接收)
- PHP獲取訪問頁面HTTP狀態(tài)碼的實現(xiàn)代碼
- PHP之將POST數(shù)據(jù)轉(zhuǎn)化為字符串的實現(xiàn)代碼
相關(guān)文章
Laravel框架控制器的middleware中間件用法分析
這篇文章主要介紹了Laravel框架控制器的middleware中間件用法,結(jié)合具體案例形式分析了Laravel框架控制器的middleware中間件相關(guān)使用步驟、操作技巧與注意事項,需要的朋友可以參考下2019-09-09
微信公眾平臺網(wǎng)頁授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設(shè)置的變動
這篇文章主要介紹了微信公眾平臺網(wǎng)頁授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設(shè)置的變動,需要的朋友可以參考下2014-10-10
php筆記之:php數(shù)組相關(guān)函數(shù)的使用
本篇文章介紹了,php中數(shù)組相關(guān)函數(shù)的使用。需要的朋友參考下2013-04-04
PHP使用imagick讀取PDF生成png縮略圖的兩種方法
這篇文章主要介紹了PHP使用imagick讀取PDF第一頁生成png縮略圖的兩種方法,使用了PHP擴展php_imagick,需要的朋友可以參考下2014-03-03
PHP中exec函數(shù)和shell_exec函數(shù)的區(qū)別
這篇文章主要介紹了PHP中exec函數(shù)和shell_exec函數(shù)的區(qū)別,這兩個函數(shù)是非常危險的函數(shù),一般情況都是被禁用的,當(dāng)然特殊情況下也會使用,需要的朋友可以參考下2014-08-08
淺談php中變量的數(shù)據(jù)類型判斷函數(shù)
下面小編就為大家?guī)硪黄獪\談php中變量的數(shù)據(jù)類型判斷函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03

