真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php和json中文如何轉(zhuǎn)換

這篇文章主要介紹php和json中文如何轉(zhuǎn)換,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了做網(wǎng)站、網(wǎng)站設(shè)計(jì)服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。

php json中文轉(zhuǎn)換的方法:1、將中文字段進(jìn)行urlencode;2、使用json_encode函數(shù)進(jìn)行編碼;3、用urldecode處理結(jié)果即可。

本文操作環(huán)境:Windows7系統(tǒng)、PHP7.1版,Dell G3電腦

如何對json格式的字符串進(jìn)行轉(zhuǎn)換,在php手冊中提供了兩個函數(shù):

json_encode : 對變量進(jìn)行 JSON 編碼

json_decode : 對 JSON 格式的字符串進(jìn)行編碼

下面看個實(shí)例:

 $arr = ['a', 'b', 'c'];echo json_encode($arr);

輸出為:

["a","b","c"]

但是,當(dāng)我們在數(shù)組中放入中文的時候,就會出現(xiàn)問題:

 $arr = [    '世界',    '你好',];echo json_encode($arr);

輸出的結(jié)果為:

["\u4e16\u754c","\u4f60\u597d"]

這個結(jié)果顯然不是我們想要的,但是為什么出現(xiàn)這個呢? 因?yàn)楫?dāng)我們的值中包含中文時,php對他進(jìn)行json編碼時底層會對中文進(jìn)行unicode編碼,導(dǎo)致結(jié)果不可讀.

那該怎么解決呢?

方法一

可以利用 urlencode 和 urldecode 方法繞過這個轉(zhuǎn)碼為 unicode 的過程,先將中文字段進(jìn)行urlencode,然后json_encode,最后再用urldecode處理結(jié)果,便可以正常顯示中文。具體代碼如下:

 $arr = [    '世界',    '你好',];echo urldecode(json_encode(array_map('urlencode', $arr)));

輸出結(jié)果為:

["世界","你好"]

方法二

自PHP5.4版本,官方就已經(jīng)給Json新增了一個選項(xiàng): JSON_UNESCAPED_UNICODE。加上這個選項(xiàng)后,就不會自動把中文編碼了。具體代碼如下:

 $arr = [    '世界',    '你好',];echo json_encode($arr, JSON_UNESCAPED_UNICODE);

輸出為:

["世界","你好"]

看吧,這才是我們想要的結(jié)果 :)

注意

需要我們注意的是,由于 json_encode 和 json_decode只支持utf-8編碼的字符,gbk的字符想要用json函數(shù)的話就得轉(zhuǎn)換一下嘍。

以上是“php和json中文如何轉(zhuǎn)換”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前名稱:php和json中文如何轉(zhuǎn)換
文章位置:http://weahome.cn/article/jjhhpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部