php+json+ajax解决中文乱码笔记

来源:互联网 发布:淘宝怎么设置自动回复 编辑:程序博客网 时间:2024/06/04 22:42

使用json_encode把数组或对象转化为 json,当有中文时传到前端时就会出现乱码,解决方法如下:

 function getData(){   // var con=document.getElementById("content");//ajax=createAjax();ajax=window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");ajax.onreadystatechange=function(){       if(ajax.readyState ==4){ if(ajax.status==200){    var data=ajax.responseText;//var json=decodeURIComponent(data);alert(eval(data));}else{alert("页面请求失败");}}}ajax.open("get", "server.php", true);ajax.send(null);}

点击按钮触发函数:

<input type="button" onclick="getData()" value="点击" />

server.php:

$json = array (     0 =>array (         'id' => '32',         'name' => '我的名字1'       ),     1 =>array (       'id' => '33',       'name' => '我的名字2'     )   );   echo myjson($json);   function myjson($code)   {        $code = json_encode(urlencodeAry($code));        return urldecode($code);   }   function urlencodeAry($data)   {      if(is_array($data))      {           foreach($data as $key=>$val)           {              $data[$key] = urlencodeAry($val);           }           return $data;      }      else      {          return urlencode($data);      }   }


原创粉丝点击