php json_encode 중국어 난호

2164 단어 encode
http://www.nowamagic.net/php/php_FunctionJsonEncode.php
배열 의 모든 중국 어 는 json엔 코드 가 없어 지 거나 나타 나 거나
해결 방법 은 urlencode () 함수 로 처리 하 는 것 입 니 다. jsonencode 전에 모든 배열 의 모든 내용 을 urlencode () 로 처리 하고 jsonencode () 를 json 문자열 로 변환 하고 마지막 으로 urldecode () 로 인 코딩 된 중국 어 를 되 돌려 줍 니 다.


<?php
/**************************************************************
 *
 *	    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--;
}
 
/**************************************************************
 *
 *	      JSON   (    )
 *	@param	array	$array		      
 *	@return string		     json   
 *	@access public
 *
 *************************************************************/
function JSON($array) {
	arrayRecursive($array, 'urlencode', true);
	$json = json_encode($array);
	return urldecode($json);
}

$array = array
       (
          'Name'=>'  ',
          'Age'=>20
       );


echo JSON($array);
?>


좋은 웹페이지 즐겨찾기