php json_encode方法实现中文不被转为unicode

发布时间:2020-02-14作者:小灵龙点击:160

问题描述:
对接一个接口,返回的是json数据格式,其中的汉字是中文而不是unicode格式。验签的时候,把签名弄出来,再把其余的参数保留,转为json格式,但是json_encode()的时候,其中的汉字变成了unicode格式。我想把unicode格式转为汉字。
解决办法:



static public function test6() {

        //在数据库随便拿一条有中文的数据

        $user = DB::table('users')->select('name','company')->where('id', '=', 3)->first();



        //第一种序列化方式,不加参数,中文会被转化为unicode

        $json_user1 = json_encode($user);

        var_dump($json_user1);      

        //'{"name":"\u67d0\u67d0","company":"\u5317\u754c\u5c0f\u5b66"}'



        //第二种序列化方式,加参数 JSON_UNESCAPED_UNICODE 中文不会被转化为unicode

        $json_user2 = json_encode($user, JSON_UNESCAPED_UNICODE);

        var_dump($json_user2);

        //'{"name":"某某","company":"北界小学"}'

    }

标签: