首頁  >  文章  >  後端開發  >  PHP的Json中文處理解決方案

PHP的Json中文處理解決方案

高洛峰
高洛峰原創
2016-12-30 13:45:591081瀏覽

本文講述了PHP的Json中文處理解決方案。分享給大家供大家參考,具體如下:

Json是現在被廣泛使用的用於傳遞字串的格式,相比xml更顯得簡單易懂以及更方便操作,php下就兩個函數,json_encode() AND json_deconde()。不過json對中文的支援並不是很好,如果使用json_encode()處理如數組,數組中若存在中文,則會作空白處理。

解決中文的一種方法就是先將中文轉換為另一種編碼格式,然後再使用json_encode(),最後再用解碼把json字串進行解碼。還有一種方式就在php新版本中得到了解決,在下面的程式碼為展示。

以下為程式碼範例

<?php
  header("Content-type:text/html;charset=utf-8");
  $arrayName = array(&#39;city&#39; => &#39;广东&#39;,&#39;goods&#39;=>&#39;cookies&#39; );
  $arr = json_encode($arrayName);
  echo $arr."</br>";
  var_dump(json_decode($arr));
  echo "</br>";
  echo urldecode(json_encode(ch_json($arrayName)))."</br>";
/*
  需要php版本在5.4以上
  echo json_encode($arrayName,JSON_UNESCAPED_UNICODE);
*/
  function ch_json($arr){
    if(is_array($arr)){
      foreach ($arr as $key => $value) {
        $arr[urlencode($key)] = ch_json($value);
      }
    }else{
      return urlencode($arr);
    }
    return $arr;
  }
?>

希望本文所述對大家PHP程式設計有所幫助。

更多PHP的Json中文處理解決方案相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn