zoukankan      html  css  js  c++  java
  • 解决json_encode中文UNICODE转码问题

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式,如果想汉字不进行转码,这里提供三种方法

    1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
    
    <?php
    echo json_encode("中文", JSON_UNESCAPED_UNICODE);
    //"中文"
    2.把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。
    
    $array = array(
    'test'=>urlencode("我是测试")
    );
    $array = json_encode($array);
    echo urldecode($array);
    //{"test":"我是测试"} 
    3.对unicode码再进行解码,解码函数如下:
    
    function decodeUnicode($str)
    {
        return preg_replace_callback('/\\u([0-9a-f]{4})/i',
            create_function(
                '$matches',
                'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
            ),
            $str);
    }
    

      

    http://www.cnblogs.com/sink_cup/archive/2011/05/28/php_json_encode_unicode_decode.html

    http://www.veryhuo.com/a/view/35112.html

    http://www.alixixi.com/program/a/2011112776664.shtml

  • 相关阅读:
    topcoder srm 681 div1
    topcoder srm 683 div1
    topcoder srm 684 div1
    topcoder srm 715 div1
    topcoder srm 685 div1
    topcoder srm 687 div1
    topcoder srm 688 div1
    topcoder srm 689 div1
    topcoder srm 686 div1
    topcoder srm 690 div1 -3
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4549111.html
Copyright © 2011-2022 走看看