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; ?>
輸出的結果為:
{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}
這里要注意:
雙引號在json中會被自動編碼為\",這個很好理解,js中字符串中是不允許出來單引號、雙引號和反斜杠的。
中文字符被編碼成了Unicode
如果是寫接口,那直接這樣輸出就夠了,中文無需去做處理。等到了客戶端,再去把Unicode的中文轉成漢字即可。但如果要在服務器端直接輸出漢字出來,那我們可以做如下處理。
<?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)你好!"}
這個操作很簡單,其實就是把輸出結果匹配一下,把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ù)轉化為字符串的實現(xiàn)代碼
相關文章
在Yii2特定頁面如何禁用調試工具欄Debug Toolbar詳解
這篇文章主要給大家介紹了關于在Yii2特定頁面如何禁用調試工具欄Debug Toolbar的相關資料,文中通過詳細的示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-08-08Apache+php+mysql在windows下的安裝與配置(圖文)
2008-02-02在服務端進行目錄建立、刪除,文件上傳、刪除的過程的php代碼
下面的php代碼具有查看服務器端目錄和文件,刪除文件夾等操作,是學習php文件操作不錯的參考資料2008-09-09WordPress中設置Post Type自定義文章類型的實例教程
這篇文章主要介紹了WordPress中設置Post Type自定義文章類型的實例教程,后臺文章類型的設置是WordPress的一大特色,然而自帶的文章類型往往并不夠用,需要的朋友可以參考下2016-05-05