Maison >développement back-end >tutoriel php >Solution de traitement chinois PHP Json

Solution de traitement chinois PHP Json

高洛峰
高洛峰original
2016-12-30 13:45:591148parcourir

Cet article décrit la solution de traitement chinois Json de PHP. Partagez-le avec tout le monde pour référence. Les détails sont les suivants :

Json est un format largement utilisé pour transmettre des chaînes. Par rapport à XML, il est plus simple à comprendre et à utiliser. PHP, json_encode() ET json_deconde(). Cependant, la prise en charge du chinois par json n'est pas très bonne. Si vous utilisez json_encode() pour traiter un tableau, s'il y a des caractères chinois dans le tableau, il sera effacé.

Une façon de résoudre le chinois consiste d'abord à convertir le chinois dans un autre format d'encodage, puis à utiliser json_encode() et enfin à utiliser le décodage pour décoder la chaîne json. Il existe une autre solution résolue dans la nouvelle version de PHP, comme indiqué dans le code ci-dessous.

Ce qui suit est un exemple de code

<?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;
  }
?>

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles liés aux solutions de traitement Json chinois de PHP, veuillez prêter attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn