這篇文章主要講解了“php json提交數(shù)據(jù)亂碼的問題怎么解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php json提交數(shù)據(jù)亂碼的問題怎么解決”吧!
創(chuàng)新互聯(lián)公司,為您提供網(wǎng)站建設(shè)公司、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)成都會(huì)所設(shè)計(jì)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場的競爭激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
1、保證數(shù)據(jù)庫、前后臺(tái)PHP頁面編碼一致。
最簡答的解決PHP JSON中文亂碼的方法就是保證數(shù)據(jù)庫編碼、PHP頁面編碼統(tǒng)一采用UTF8格式,對(duì)于PHP入門學(xué)習(xí)者來說建站時(shí)數(shù)據(jù)庫最好使用UTF8格式,可減少不少麻煩。
2、配置使用PHP函數(shù)urlencode與JS函數(shù)decodeURI()。
當(dāng)PHP使用JSON與前臺(tái)JS交互時(shí),在使用json_encode函數(shù)之前需要使用urlencode函數(shù)進(jìn)行URL編碼,在JS客戶端通過JS函數(shù)decodeURI()進(jìn)行URL解碼后再讀取中文信息。
注意:當(dāng)在PHP頁面中通過JSON進(jìn)行交互,比如將數(shù)組轉(zhuǎn)換成JSON格式時(shí),首先請(qǐng)使用urlencode函數(shù)對(duì)數(shù)組key和value進(jìn)行URL編碼然后再使用json_encode函數(shù)和urldecode函數(shù)。
3、使用字符串編碼轉(zhuǎn)換函數(shù)。
當(dāng)由于各種原因,數(shù)據(jù)庫編碼、PHP頁面編碼不一致時(shí),比如現(xiàn)有的數(shù)據(jù)庫編碼使用GB2312,這時(shí)在使用JSON交互時(shí),就需要使用字符串編碼轉(zhuǎn)換函數(shù)進(jìn)行字符集之間的轉(zhuǎn)換。常用的函數(shù)有iconv,由于iconv需要PHP配置環(huán)境支持,如果不支持,你可以通過自行編寫gbk與UTF8編碼轉(zhuǎn)換函數(shù)實(shí)現(xiàn)編碼轉(zhuǎn)換。
至此,PHP JSON中文字符亂碼的三種解決方法就介紹完了,其實(shí)在PHP開發(fā)中,遇到類似PHP與AJAX/JS進(jìn)行交互,產(chǎn)生中文亂碼時(shí)基本都是使用這些方法,思路是類似的。
感謝各位的閱讀,以上就是“php json提交數(shù)據(jù)亂碼的問題怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)php json提交數(shù)據(jù)亂碼的問題怎么解決這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!