利用php怎么輸出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還原成了漢字。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設公司,的支持。
分享名稱:利用php怎么輸出json中的漢字-創(chuàng)新互聯(lián)
標題鏈接:http://jinyejixie.com/article4/psjoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、域名注冊、品牌網(wǎng)站制作、ChatGPT、動態(tài)網(wǎng)站、響應式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容