zoukankan      html  css  js  c++  java
  • 解决php函数json_encode转换后中文被编码为unicode

    大家都知道使用函数json_encode()可以方便快捷地将数组进行json编码转换,但是如果数组值存在着中文,json_encode会将中文转换为unicode编码,例如:

    <?PHP
    $array = array('中国','美国','高富帅','白富美','屌丝');
    echo json_encode($array);

    打印出的结果为:

    ["u4e2du56fd","u7f8eu56fd","u9ad8u5bccu5e05","u767du5bccu7f8e","u5c4cu4e1d"]

    这种格式也是我们最常见的,在javascript中也是可以被解析的。但有些情况下我不需要将中文转换为unicode编码,该如果处理呢。解决办法是先将中文进行 urlencode()转码。然后转为json.再通过urldecode() 将json转换就可以解决:

    $data = array();
    foreach($array as $key=>$value)
    {
        $data[] = urlencode($value);
    }
    echo urldecode(json_encode($data));

    打印结果为:

    ["中国","美国","高富帅","白富美","屌丝"]

    这样,我们的问题也就解决了,常见的有天气预报的接口返回值就是这样的。需要我们注意的是 json_encode()只支持UTF-8编码。所以如果是其它编码的时候还需要转换一下。如:iconv(),当然方法也很多了,在PHP5.4的版本中 json_encode()已经支持不转换编码,例:json_encode($str, JSON_UNESCAPED_UNICODE)

    时不我待,不负韶华!立刻行动!不吃学习的苦就会吃生活的苦!
  • 相关阅读:
    在ireport中使用checkbox
    OpenCV-Python教程(9、使用霍夫变换检测直线)
    编程挑战(6)
    [置顶] Guava学习之Immutable集合
    mongodb在PHP下的应用学习笔记
    通过Camera进行拍照
    无法删除 C_PAN.GHO: 访问被拒绝 解决办法
    使用POI生成Excel报表
    debian下使用siege进行压力测试
    jodd-servlet工具集锦
  • 原文地址:https://www.cnblogs.com/zrp2013/p/3784332.html
Copyright © 2011-2022 走看看