问答详情
源自:1-3 验证群发接口单文本实现

中文显示成了ASCII

中文显示成了ASCII,怎么回事啊

提问者:慕粉4060693 2017-10-05 16:30

个回答

  • 北城慕容雪
    2018-05-08 11:20:43

    我的http_curl函数参数顺序和老师的有点不一样。

    protected function http_curl($url, $arr = '', $type = 'get', $res = 'json')
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            if ($type == 'post') {
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
            }
            $output = curl_exec($ch);
            if ($res == 'json') {
                if ($err = curl_errno($ch)) {
                    //要在关闭之前获得curl_errno
                    curl_close($ch);
                    return $err;
                } else {
                    return json_decode($output, true);
                }
            }
        }

  • 北城慕容雪
    2018-05-08 11:17:32

    这个问题很简单,你不需要完全按照视频的来。

    //2.组装群发接口数据array
            // 下列数组用于测试打印json格式群发消息
            /*
            {
            "touser":"OPENID",
            "mpnews":{
            "media_id":"123dsdajkasd231jhksad"
            },
            "msgtype":"mpnews"
            }
             */
            // $arr=array(
            //     'touser'=>'oW_5b1Tmhp6kpzuuffe9a1AFn7cE',
            //     'text'=>array('content'=>'欢迎关注,有事没事常联系。'),
            //     'msgtype'=>'text'
            // );
            // //3.将array->转json
            // $postJson=json_encode($arr);

            $postJson = '{
                "touser":"oW_5b1Tmhp6kpzuuffe9a1AFn7cE",
                "text":{"content":"欢迎关注,有事没事常联系。"},
                "msgtype":"text"
            }';
            //4.调用curl
            $res = $this->http_curl($url, $postJson, 'post');

    $postJson只需要是json就可以,里面的字符可以是中文的。