一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php處理json時(shí)中文問題的解決方法

操作的代碼如下:
復(fù)制代碼 代碼如下:
<?php
$usr = new User();
echo json_encode($usr);
?>

很簡(jiǎn)單的代碼,無中文情況一切正常,輸出如下:
{"PlatformID":"123213","UserID":"1023"}
一旦有中文的時(shí)候會(huì)出現(xiàn)兩種情況。

第一種情況是對(duì)象本身的某個(gè)值為中文的屬性是utf-8編碼,則會(huì)有如下輸出:


{"PlatformID":"123213","UserID":"1023","UserName":"/u00b7/u00f0/u00b5/u00b2/u00c9/u00b1/u00b7/u00f0/u00cc/u00fc"}
其中的UserName是非人類語言,這個(gè)是正常的,如果我們用firebug看下就是中文的。(這個(gè)糾結(jié)了我半天)

第二種情況是非utf-8編碼,輸出會(huì)變成null:

{"PlatformID":"123213","UserID":"1023","UserName":null}
很奇怪,查了手冊(cè)后知道json_encode是只對(duì)utf-8有效,其它編碼均會(huì)變?yōu)閚ull.


下面就開始解決編碼轉(zhuǎn)化的問題。
php.NET上看到別人的函數(shù)如下:
復(fù)制代碼 代碼如下:
private function to_utf8($in)
{
if (is_array($in)) {
foreach ($in as $key => $value)
{
$out[$this->to_utf8($key)] = $this->to_utf8($value);
}
}
elseif(is_string($in))
{
if(mb_detect_encoding($in) != "UTF-8")
return utf8_encode($in);
else
return $in;
}
else
{
return $in;
}
return $out;
}

于是拿下來轉(zhuǎn)換編碼發(fā)現(xiàn)已經(jīng)不為null.欣喜之下用firebug打開,發(fā)現(xiàn)并不是我原來的中文字符....開始糾結(jié)......
難道是要讓他轉(zhuǎn)換成原來的編碼?回去尋找原始編碼......
測(cè)試開始:

1.把$usr->UserName直接輸出,頁面頭設(shè)置charset=utf-8.亂碼
2.echo json_encode($usr)輸出UserName=null
3.頁面頭設(shè)置為charset=gbk,輸出正確->可以確定原編碼為gbk
最后通過IE,Chrome,Firefox測(cè)試得出結(jié)論:


1.保證頁面字符集與數(shù)據(jù)庫(kù)一致,輸出一定正常 。
2.做json_encode時(shí)保證數(shù)據(jù)編碼是utf-8,json_decode正常。
3.如果要對(duì)非utf-8字符做json_encode,先轉(zhuǎn)換成utf-8。
4.對(duì)非utf-8字符做json_decode的時(shí)候,千萬不能忘記轉(zhuǎn)換成原先的編碼,否則會(huì)輸出亂碼!!
困擾了一天的問題終于搞定了。

php技術(shù)php處理json時(shí)中文問題的解決方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线视频免费国产成人 | 免费看一级淫片成人 | 伊人久久大香线蕉综合亚洲 | 久久这里只有 | 丁香婷五月 | 欧美日本综合一区二区三区 | 亚洲国产精品婷婷久久久久 | 亚洲人成图片欧美人成图片 | 久久国产精品偷 | 在线观看免费午夜大片 | 99精品视频在线观看免费专区 | 亚洲欧美精品 | 天天摸天天爽视频69视频 | 精品久久久久久免费影院 | 日韩视频大全 | 美女视频黄视频 | 色女人综合网 | 精品久久久中文字幕一区 | 亚洲热在线观看 | 国产乱子伦手机在线 | 久久99国产精品二区不卡 | 国产亚洲精品福利 | 精品国产系列 | 综合区小说区图片区在线一区 | 亚洲国产lv | 免费黄视频网站 | 中文字幕在线视频在线看 | 白嫩美女一级毛片免费看 | 免费一区二区三区四区五区 | 国产成人亚洲毛片 | 深夜影院深a | 亚洲精品高清国产一线久久97 | a毛片全部播放免费视频完整18 | 四虎影视亚洲精品 | 美女张开腿给人网站 | 三级黄网 | 五月婷婷开心 | 九九国产在线视频 | 国内自拍视频在线看免费观看 | 91久久青青青国产免费 | 久久青青草原精品国产软件 |