例子
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 function encodeConvert($str,$fromCode,$toCode) 
{ 
 if(strtoupper($toCode) == strtoupper($fromCode)) return $str; 
 if(is_string($str)){ 
  if(function_exists('mb_convert_encoding')){ 
   return mb_convert_encoding($str,$toCode,$fromCode); 
  } 
  else{ 
   return iconv($fromCode,$toCode,$str); 
  } 
 } 
 elseif(is_array($str)){    
  foreach($str as $k=>$v){     
   $str[$k] = encodeConvert($v,$fromCode,$toCode); 
  } 
  return $str; 
 } 
 return $str; 
} 
 | 
	  
	
例子
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 /**************************************************************  
 *  
 *  将数组转换为JSON字符串(兼容中文)  
 *  @param  array   $array      要转换的数组  
 *  @return string      转换得到的json字符串  
 *  @access public  
 *  
 *************************************************************/ 
function JSON($array) {  
    arrayRecursive($array, 'urlencode', true);  
    $json = json_encode($array);  
    return urldecode($json);  
}  
/**************************************************************  
 *  
 *  使用特定function对数组中所有元素做处理  
 *  @param  string  &$array     要处理的字符串  
 *  @param  string  $function   要执行的函数  
 *  @return boolean $apply_to_keys_also     是否也应用到key上  
 *  @access public  
 *  
 *************************************************************/ 
function arrayRecursive(&$array, $function, $apply_to_keys_also = false){  
    static $recursive_counter = 0;  
    if (++$recursive_counter > 1000) {  
        die('possible deep recursion attack');  
    }  
    foreach ($array as $key => $value) {  
        if (is_array($value)) {  
            arrayRecursive($array[$key], $function, $apply_to_keys_also);  
        } else {  
            $array[$key] = $function($value);  
        }                                         
        if ($apply_to_keys_also && is_string($key)) {  
            $new_key = $function($key);  
            if ($new_key != $key) {  
                $array[$new_key] = $array[$key];  
                unset($array[$key]);  
            }  
        }  
    }  
    $recursive_counter--;  
} 
 | 
	  
	
测试例子
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 $arr = array (  
  array (  
      'catid' => '4',  
      'catname' => '一聚教程网',  
      'meta_title' => '一聚教程网2'  
    ),  
    array (  
      'catid' => '55',  
      'catname' => 'php教程',  
      'meta_title' => 'https://www.111cn.net',  
    )  
);   
                                                                            
echo JSON($arr); 
 
echo  json_encode(encodeConvert($arr,'gb2312','utf-8'));/*  */ 
 | 
	  
	
输出结果如下
[{"catid":"4","catname":"一聚教程网","meta_title":"一聚教程网2"},{"catid":"55","catname":"php教程","meta_title":"https://www.111cn.net"}]
[{"catid":"4","catname":"\u4e00\u805a\u6559\u7a0b\u7f51","meta_title":"\u4e00\u805a\u6559\u7a0b\u7f512"},{"catid":"55","catname":"php\u6559\u7a0b","meta_title":"http:\/\/www.111com.net"}]