日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php json_encode后乱码,php json_encode 中文乱码的解决方法

發布時間:2025/3/15 php 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php json_encode后乱码,php json_encode 中文乱码的解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

json_encode對中文的處理一直是有問題的,

1.不能處理GB編碼,所有的GB編碼都會替換成空字符.

2.utf8編碼的中文被編碼成unicode編碼,相當于javascript的escape函數處理的結果.為了能正確使用json,

方法一:將數據轉成JSON之后,將unicode編碼的中文替換成utf8編碼的中文

首先我們就應該在編碼上采用utf8編碼,然后再對json_encode的返回結果稍加處理就可以得到正確的結果了。

$code = json_encode($str); //---這時返回的就是unicode編碼的中文

preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $code); //---這時返回的就是utf8編碼的中文

方法二:當數據還是數組的時候,將其中類型為字符串的數據進行 urlencode,然后將結果轉成JSON,最后將JSON字符串進行urldecode

function arrayRecursive(&$array){

foreach ($array as $key => $value) {

if (is_array($value)) {

arrayRecursive($array[$key]);//如果是數組就進行遞歸操作

} else {

if(is_string($value)){

$temp1= addslashes($value);

$array[$key]= urlencode($temp1);//如果是字符串就urlencode

}else{

$array[$key] = $value;

}

}

}

}

function JSON($result) {

$array=$result;

arrayRecursive($array);//先將類型為字符串的數據進行 urlencode

$json = json_encode($array);//再將數組轉成JSON

return urldecode($json);//最后將JSON字符串進行urldecode

}

echo JSON($data);//這里的$data是一個數組(可以是多維數組)

總結

以上是生活随笔為你收集整理的php json_encode后乱码,php json_encode 中文乱码的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。