哪位大神告诉我下为啥我的微信菜单栏中文里面显示的是%A这种形式

来源:2-2 自定义菜单代码实现

qq_玻璃娃娃_1

2016-10-21 23:44

    public  function defineItem(){

        header('content-type:text/html;charset=utf-8');

        $access_token= getWxAccessToken();

        $url="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;

 

$postArr=array(

            'button'=>array(

                array(

                    'name'=>urlencode('a1'),

                    'type'=>'click',

                    'key'=>'item1',

                ),

                array(

                    'name'=>urlencode('a2'),

                    'sub_button'=>array(

                        array(

                            'name'=>urlencode('歌曲'),

                            'type'=>'click',

                            'key'=>'songs'

                        ),//第一个二级菜单

                        array(

                            'name'=>urlencode('电影'),

                            'type'=>'view',

                            'url'=>'http://www.baidu.com'

                        ),//第二个二级菜单

                    )

                ),


                array(

                    'name'=>urlencode('a3'),

                    'type'=>'view',

                    'url'=>'http://www.qq.com',

                ),//第三个一级菜单


        ));

        $postJson=json_encode($postArr);

        

        $res = $this->http_curl($url,'post','json',$postJson);

       


}

public function http_curl($url,$type='get',$res='json',$arr=''){


        //1.初始化curl

        $ch  =curl_init();

        //2.设置curl的参数

        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);

        }

        //3.采集

        $output =curl_exec($ch);


        //4.关闭

        curl_close($ch);

        if($res=='json'){

            if(curl_error($ch)){

                //请求失败,返回错误信息

                return curl_error($ch);

            }else{

                //请求成功,返回错误信息


                return json_decode($output,true);

            }

        }

        echo var_dump( $output );

    }  


写回答 关注

1回答

  • 天门山人
    2016-10-22 00:08:45
    已采纳

    $postJson=json_encode($postArr);这里改成$postJson =  urldecode(json_encode( $postArr ) );

    qq_玻璃娃...

    非常感谢!

    2016-10-23 21:45:33

    共 1 条回复 >

PHP微信公众平台开发高级篇—自定义菜单

自定义菜单是微信开发中必不可少的环节,约吗?

28920 学习 · 81 问题

查看课程

相似问题