• php json_encode中提示的中文总是返回"u767bu5f55u6210u529fuff01"的解决办法


    最近在练习使用 php 写一些简单的接口,但是在返回的消息中,如果有中文,在测试后总是返回:

    {"resultCode":200,"message":"u767bu5f55u6210u529fuff01","data":{"user_id":"29","user_phone":"13918145846","user_name":null,"user_sex":null,"user_password":"123456","user_header":null}}

    下面是我写的:

    $row = mysql_num_rows($result);
        if($row == 1){
            $array = array();
            while($row = mysql_fetch_array($result)){
                $array["user_id"] = $row["user_id"];
                $array["user_phone"] = $row["user_phone"];
                $array["user_name"] = $row["user_name"];
                $array["user_sex"] = $row["user_sex"];
                $array["user_password"] = $row["user_password"];
                $array["user_header"] = $row["user_header"];
            }
            //把上面的数组以 json 格式返回
            $json = json_encode(array(
                "resultCode"=>200,
                "message"=>"登录成功!",
                "data"=>$array
            ));
            echo($json);
        }else{
            $json = json_encode(array(
                "resultCode"=>500,
                "message"=>"登录失败!"
            ));
            echo($json);
        }

    之前在测试时,一直显示这个个?

    通过网上查资料并交通,得知 php5.4 Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

    我们只要在 json_encode(array(),JSON_UNESCAPED_UNICODE),就可以将代码中的中文正常输出:

    $json = json_encode(array(
                "resultCode"=>200,
                "message"=>"登录成功!",
                "data"=>$array
            ),JSON_UNESCAPED_UNICODE);
            echo($json);

    看测试效果:

    就是这几个单词不好拼!!!!

  • 相关阅读:
    bzoj 1087: [SCOI2005]互不侵犯King
    左偏树+菲波那切堆
    bzoj 4455: [Zjoi2016]小星星
    luogu P1941 飞扬的小鸟
    luogu P2814 家谱
    平衡树之非旋Treap
    luogu P3147 [USACO16OPEN]262144
    luogu P1854 花店橱窗布置
    计蒜客NOIP2018模拟1
    [BZOJ3456]城市规划(生成函数+多项式求逆+多项式求ln)
  • 原文地址:https://www.cnblogs.com/baiyygynui/p/6653869.html
Copyright © 2020-2023  润新知