您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP JSON中文_PHP教程

2024/2/17 19:48:00发布54次查看
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。
这个函数的功能是将数值转换成json数据存储格式。
[php] 
'希亚', 
          'age'=>20 
       );
$jsonencode = json_encode($arr); 
echo $jsonencode; 
?> 
程序运行结果如下:
[php] 
{name:null,age:20} 
        json_encode 函数中中文被编码成 null 了,google 了一下,很简单,为了与前端紧密结合,json 只支持 utf-8 编码,我认为是前端的 javascript 也是 utf-8 的原因。
[php]
iconv('gb2312','utf-8','这里是中文标题'), 
        'body'=>'abcd...' 
    );
echo json_encode($array); 
?> 
     这个程序的运行结果为:
[php] 
{title:\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898,body:abcd...} 
      数组中所有中文在json_encode之后都不见了或者出现\u2353等。
      解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。
[php] 
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); 
?> 
     这次成功了,运行结果如下:
[php] view plaincopy
{name:希亚,age:20} 
作者:wolinxuebin
http://www.bkjia.com/phpjc/478136.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/478136.htmltecharticle在 php 中使用 json_encode() 内置函数(php 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。 这个函数的功能是将数值转换成j...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product