日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php 中解決json中文亂碼的函數

php 中解決json中文亂碼的函數

來源:程序員人生   發布時間:2014-04-23 11:12:02 閱讀次數:3149次

php自帶了json_encode來處理json數據,那么它們對中文的支持不好,下面我們來看個實例:

echo json_encode(array(123213,'中文'));

{"platformid":"123213","userid":"1023","username":"u00b7u00f0u00b5u00b2u00c9u00b1u00b7u00f0u00ccu00fc"}

我們會發現,英文可以正確解析,但中文就出來:

u00b7u00f0u00b5u00b2u00c9u00b1u00b7u00f0u00ccu00fc,這可能是unicode編碼,但我沒測試過只是自己猜的。下面我們來看一款解決json中文亂碼的函數

  1. private function to_utf8($in)  
  2. {  
  3. if (is_array($in)) {  
  4. foreach ($in as $key => $value)  
  5. {  
  6. $out[$this->to_utf8($key)] = $this->to_utf8($value);  
  7. }  
  8. }  
  9. elseif(is_string($in))  
  10. {  
  11. if(mb_detect_encoding()($in) != "utf-8")  
  12. return utf8_encode($in);  
  13. else  
  14. return $in;  
  15. }  
  16. else  
  17. {  
  18. return $in;  
  19. }  
  20. return $out;  

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的時候,千萬不能忘記轉換成原先的編碼,否則會輸出亂碼!

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品视频一二三区 | 久久精品在线视频 | 日本在线黄色 | 国产爽爽久久影院潘金莲 | 天堂中文最新版在线中文 | 亚洲高清在线视频 | 99久久精品一区二区成人 | 亚洲第一页中文字幕 | 国产福利一区二区三区 | 国产 日韩 欧美 在线 | 免费看男女www网站入口在线 | 日韩欧美国产一区二区 | 中文字幕日韩一区二区三区不卡 | 一区二区三区在线 | 成人国产精品一区二区免费麻豆 | 二区三区视频 | 日产精品久久久一区二区 | 不卡免费视频 | 九九精品视频在线 | 自拍第二页| 国产激情综合 | 精品一区二区三区久久久 | 国产福利一区二区三区 | 欧美久| 欧美日韩精品电影 | 久久精品91| 中文字幕日韩欧美 | 午夜激情在线播放 | 久久久免费精品 | 一区二区三区 欧美 | 国产 欧美 日韩 一区 | 夜夜穞天天穞狠狠穞 | 国产精品免费一区二区三区都可以 | 日本国产欧美 | 国内精品一区二区三区视频 | 久草在线免费福利 | 国产精品亚洲一区二区三区在线观看 | 在线综合国产 | 欧美午夜精品久久久久久人妖 | 日本久久免费 | 久久精品久久久久久 |