這篇文章主要介紹了php中json漢字亂碼的解決方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
站在用戶的角度思考問題,與客戶深入溝通,找到鞏義網(wǎng)站設計與鞏義網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設計制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋鞏義地區(qū)。php json漢字亂碼的解決方法:1、保證數(shù)據(jù)庫和前后臺php頁面編碼一致;2、利用urlencode與decodeURL函數(shù)進行URL編碼;3、利用字符串編碼函數(shù)進行字符集之間的轉換。
為什么PHP與JSON交互時會出現(xiàn)中文亂碼?
由于JSON與JS一樣,對于客戶端的字符是以UTF8的形式處理,即JSON提交或接受返回的字符是以UTF8形式處理,當與PHP交互時,如果數(shù)據(jù)庫編碼、PHP頁面編碼不采用UTF8格式時,PHP與JSON交互時中文就會產(chǎn)生亂碼。
解決方法:
在知道了PHP與JSON交互產(chǎn)生中文亂碼的原因后解決的方法其實就簡單很多。
解決PHP JSON中文亂碼方法一:保證數(shù)據(jù)庫、前后臺PHP頁面編碼一致
最簡答的解決PHP JSON中文亂碼的方法就是保證數(shù)據(jù)庫編碼、PHP頁面編碼統(tǒng)一采用UTF8格式,對于PHP入門學習者來說建站時數(shù)據(jù)庫最好使用UTF8格式,可減少不少麻煩。
解決PHP JSON中文亂碼方法二:配置使用PHP函數(shù)urlencode與JS函數(shù)decodeURI()
當PHP使用JSON與前臺JS交互時,在使用json_encode函數(shù)之前需要使用urlencode函數(shù)進行URL編碼,在JS客戶端通過JS函數(shù)decodeURI()進行URL解碼后再讀取中文信息。
注意:當在PHP頁面中通過JSON進行交互,比如將數(shù)組轉換成JSON格式時,首先請使用urlencode函數(shù)對數(shù)組key和value進行URL編碼然后再使用json_encode函數(shù)和urldecode函數(shù)。
解決PHP JSON中文亂碼方法三:使用字符串編碼轉換函數(shù)
當由于各種原因,數(shù)據(jù)庫編碼、PHP頁面編碼不一致時,比如現(xiàn)有的數(shù)據(jù)庫編碼使用GB2312,這時在使用JSON交互時,就需要使用字符串編碼轉換函數(shù)進行字符集之間的轉換。常用的函數(shù)有iconv,由于iconv需要PHP配置環(huán)境支持,如果不支持,你可以通過自行編寫gbk與UTF8編碼轉換函數(shù)實現(xiàn)編碼轉換。
至此,PHP JSON中文字符亂碼的三種解決方法就介紹完了,其實在PHP開發(fā)中,遇到類似PHP與AJAX/JS進行交互,產(chǎn)生中文亂碼時基本都是使用這些方法,思路是類似的。
感謝你能夠認真閱讀完這篇文章,希望小編分享php中json漢字亂碼的解決方法內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細的解決方法等著你來學習!
分享標題:php中json漢字亂碼的解決方法-創(chuàng)新互聯(lián)
分享鏈接:http://aaarwkj.com/article6/gpoog.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、網(wǎng)站建設、響應式網(wǎng)站、動態(tài)網(wǎng)站、品牌網(wǎng)站建設、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)