咨询电话:
15628812133
06
2017/02

php页面输出json类型值为null时

发布时间:2017-02-06 09:47:53
发布者:xiangpeiyu
浏览量:
0

   当php中的数组通过json_encode把数组转换为json时,发现转化的值为null,通过php手册上的解释是该函数只能接受 UTF-8 编码的数据(译注:指字符/字符串类型的数据),如果当前页面的编码没有指定utf8或者网页编码不是utf8,肯定是没任何输出的,返回null值的。

   1.当在php自身页面输出数组时需要在输出前加上一句header(Content-type:text/html;charset=utf8);

   2.当通过获取其他页面数据返回成数组再转换成json时,还要注意对获取页面的数据进行转码,避免你声明的编码和要输出的数据的编码类型不相同,所以,可以通过下面的函数进行字符串转码

  1.  function encodeConvert($str,$fromCode,$toCode){  

  2.    if(strtoupper($toCode) == strtoupper($fromCode)) return $str;  

  3.   

  4.     if(is_string($str)){  

  5.     if(function_exists('mb_convert_encoding')){  

  6.         return mb_convert_encoding($str,$toCode,$fromCode);  

  7.     }  

  8.     else{  

  9.         return iconv($fromCode,$toCode,$str);  

  10.     }  

  11.      }  

  12.      elseif(is_array($str)){           

  13.      foreach($str as $k=>$v){               

  14.         $str[$k] = encodeConvert($v,$fromCode,$toCode);  

  15.      }  

  16.      return $str;  

  17. }  


关键词:
返回列表