麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:47:48
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩黄色免费在线观看 | 毛片视频网站 | 久久国产精品网 | 国产毛片毛片毛片 | 一级免费特黄视频 | 色欧美视频| 亚洲福利视频52 | 久久精品中文字幕一区二区 | 成人黄色小视频在线观看 | 视频一区二区三区在线 | 麻豆小视频在线观看 | 国产成人强伦免费视频网站 | 欧美性生交xxxxx免费观看 | 日本xxxx色视频在线观看免费, | 欧美一级淫片007 | 91网在线播放 | 中国美女一级黄色片 | 粉嫩粉嫩一区二区三区在线播放 | 亚洲免费视频一区 | 最新亚洲国产 | 精品一区二区久久久久久按摩 | 久精品久久 | 亚洲欧美aⅴ | 成人毛片免费 | 国产精品久久久网站 | 欧美成人一二三区 | 午夜国产精品成人 | 成人18免费观看 | xxxxxx免费| 色的综合 | 免费一级电影 | 99精品在线免费 | 视频一区二区在线播放 | 九一成人 | 国产精品视频在 | 亚洲第一页在线观看 | 一级毛片电影网 | 欧美性成人| 黄色网址进入 | 羞羞网站 | 国产精品久久久久久久久久久久午夜 |