Maison  >  Article  >  développement back-end  >  Comment traiter le chinois Json en php

Comment traiter le chinois Json en php

怪我咯
怪我咯original
2017-07-04 12:02:241475parcourir

Cet article présente principalement la solution de traitement chinois Json de PHP, impliquant des compétences opérationnelles liées à la conversion de l'encodage PHP, et a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

Cet article parle des solutions de traitement chinois Json de PHP. . Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Json est un format largement utilisé pour transmettre des chaînes Par rapport au XML, il est plus simple à comprendre et à utiliser. Il n'y a que deux fonctions sous 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 tel que , s'il y a des caractères chinois dans le tableau, il sera vide.

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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