天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php處理json時中文問題的解決方法

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

很簡單的代碼,無中文情況一切正常,輸出如下:
{"PlatformID":"123213","UserID":"1023"}
一旦有中文的時候會出現兩種情況。

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


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

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

{"PlatformID":"123213","UserID":"1023","UserName":null}
很奇怪,查了手冊后知道json_encode是只對utf-8有效,其它編碼均會變為null.


下面就開始解決編碼轉化的問題。
php.NET上看到別人的函數如下:
復制代碼 代碼如下:
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;
}

于是拿下來轉換編碼發現已經不為null.欣喜之下用firebug打開,發現并不是我原來的中文字符....開始糾結......
難道是要讓他轉換成原來的編碼?回去尋找原始編碼......
測試開始:

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


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

php技術php處理json時中文問題的解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲欧洲日本天天堂在线观看 | 性色AV乱码一区二区三区视频 | 久久99AV无色码人妻蜜柚 | XXX国产麻豆HD | 熟女人妻AV五十路六十路 | 久久99亚洲AV无码四区碰碰 | 无码国产色欲XXXX视频 | 忘忧草在线影院WWW日本二 | 琪琪电影午夜理论片77网 | 娇女的呻吟亲女禁忌h16 | 精品成人在线视频 | 媚药调教被撑到合不拢h | 伊人久在线观看视频 | 美女脱三角裤 | 亚洲精品成人A8198A片漫画 | 男女牲交全过程免费播放 | 无套内射在线观看THEPORN | 忘忧草在线影院WWW日本动漫 | 国内精品免费久久影院 | 撕开美女的衣服2 | 国产AV国产精品国产三级在线L | 国精一区二区AV在线观看网站 | 中国老太太xxx | 久久精品国产亚洲AV麻豆欧美玲 | 国内精品自线在拍2020不卡 | 欧美一区二区在线观看 | 国产九色在线 | 杨幂被视频在线观看 | 国产a视频视卡在线 | av色天堂2018在线观看 | 欧美日本高清动作片www网站 | 99国产精品久久人妻无码 | 亚洲欧美成人综合 | 亚洲国产在线午夜视频无 | 国内精品久久久久久西瓜色吧 | 24小时日本高清免费看 | 亚洲午夜精品A片久久软件 亚洲午夜精品A片久久不卡蜜桃 | 邪恶肉肉全彩色无遮琉璃神社 | 欧美中文字幕一区二区三区 | 欧美日本韩国一二区视频 | 9277在线观看免费高清完整版 |