php json数据保留原样中文

php转换json时, 其中的中文会转换成Unicode, 要保持原来中文的意思

 /**
     * 将数组里面带有中文的字串保留以JSON格式返回
     *
     * @param   array $arr  数组
     * @return  string JSON格式的字符串
     */  

 function toJson($arr)
    {  

        $ajax = ToUrlencode($arr);
        $str_json = json_encode($ajax);
        return urldecode($str_json);
    }  

    /**
     * 将数组里面带有中文的字串用urlencode转换格式返回
     *
     * @param   array $arr  数组
     * @return  array
     */
 function ToUrlencode($arr)
    {  

        $temp = array();
        if (is_array($arr))
        {
            foreach ($arr AS $key => $row)
            {
                $temp[$key] = $row;
                if (is_array($temp[$key]))
                {
                    $temp[$key] = ToUrlencode($temp[$key]);
                }
                else
                {
                    $temp[$key] = urlencode($row);
                }
            }
        }
        else
        {
            $temp = $arr;
        }
        return $temp;
    }  

    $arr = array(‘我的wod‘,‘我的wod‘,‘我的wod‘);
    echo json_encode($arr);
    echo "\n";
    echo toJson($arr);
    echo "\n";

结果:

时间: 2024-07-30 03:42:48

php json数据保留原样中文的相关文章

PHP输出json数据时,中文不进行unicode编码

今天在写和API接口时,将PHP数组转成json,但是有个规则是不能用unicode编码 试了几种方法: 若PHP是5.4以上的 可以直接使用JSON_UNESCAPED_UNICODE参数 json_encode('中文测试',JSON_UNESCAPED_UNICODE); 这种方法字符串可行,但是数组不可行(有待验证) 2.将数组中的字符串urlencode,然后将数组json_encode转成json,最后进行urldecode 注:urlencode()和urldecode()将中文字

Http请求传json数据中文乱码问题

业务场景:调easyui的dialog打开一个弹窗,传参是用json封装的,而且有中文,然后在极速模式是正常的,在ie11测试发现中文出现乱码了 var params = JSON.stringify(writParamList); top.dialog({ id: 'noticeList', title:'列表', width:900, height:500, url:'${root}/notice/multiNoticeList.do?params='+params, onclose:fun

如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码

[plain] view plain copy print? <span style="font-size:14px;">一直想找如何解析JSON数据的说,今天终于找到有人发帖子了.之前有人说用superobject,Tlkjson,delphi json library,delphi  web unit等等.其实我是想找比较简单的解析方式.解析简单的json.下面是转载的坦然的源码. </span> [delphi] view plain copy print

[转]php返回json数据中文显示的问题

转自 : http://blog.csdn.net/superbirds/article/details/8091910 解决方法: [php] view plaincopy <?php function Notice(){ include './include/conn.php';  //数据库链接文件 $sql_notice = mysql_query('SELECT * FROM gg_notice where enable = "1" limit 0,10'); $not

如何让Jackson JSON生成的数据包含的中文以unicode方式编码

我们都知道,Jackson JSON以高速.方便和灵活著称.之前的文章中介绍过使用注解的形式来规定如何将一个对象序列化成JSON的方法,以及如何将一个JSON数据反序列化到一个对象上.但是美中不足的一点就是对于中文的处理.当然我说的美中不足是在默认情况下,Jackson JSON不会将中文等非ASCII字符转换为\uFFFF这样的形式来显示.也就是说默认情况下会显示为{"name":"张三"}而不是{"name":"\u5F20\u4E

PHP读取mssql,json数据中文乱码

PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. 解决办法: <?php header("Content-Type: text/html;charset=utf-8"); //告诉浏览器不要缓存数据 header("Cache-Control: no-cache"); require "../conn.

Spring MVC3返回JSON数据中文乱码问题解决

Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jackson JSON版本:2.1.3 解决思路:Controller的方法中直接通过response向网络流写入String类型的json数据. 使用 Jackson 的 ObjectMapper 将Java对象转换为String类型的JSON数据. 为了避免中文乱码,需要设置字符编码格式,例如:UTF

Spring MVC3返回JSON数据中文乱码问题解决(转)

Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jackson JSON版本:2.1.3 解决思路:Controller的方法中直接通过response向网络流写入String类型的json数据. 使用 Jackson 的 ObjectMapper 将Java对象转换为String类型的JSON数据. 为了避免中文乱码,需要设置字符编码格式,例如:UTF

SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码

场景: 在实际运用场景中,当前台发起请求后,我们需要从后台返回数据给前台,这时,如果返回的数据中包含中文,则经常会出现在后台查询出来都是好好,但是传输回去就莫名的乱码了,而且,我们明明已经在 web.xml 中进行编码过滤了,但还是乱码,让人很头疼. 解决办法: 第一种:这种方法,估计很多人都知道,那就在 controller 中的每个方法的  @RequestMappering 注解中进行编码设置,如下所示: @RequestMapping(value = "/queryUserById&qu