先来看wx自定义菜单的接口
emm,只需要获取了access_token post一个json去就okay了,看起来挺简单的——我低估了企鹅折腾人的水平
php实现思路:
1. 编写/生成一个文档指定格式的 json_string
2. 用curl 获取 access_token
3. 再用curl post json_string 到接口
设置了一些中文的菜单按钮项后提交报错
{"errcode":40033,"errmsg":"invalid charset. please check your request, if include \\uxxxx will create fail!"}
细查后发现 json_encode()是会把中文自动进行了unicode编码,
尝试网上很多所谓的unicode转换为utf8的办法无效
然后又查到 PHP 5.4 以上版本json_encode有第二可选参数 json_encode("中文", JSON_UNESCAPED_UNICODE);
一看自己主机.. php 5.3 晕,再找其他办法
我的解决办法:
$json = urldecode(json_encode(urlencode($array))); //这里decode后会导致双引号出错,所以应该在encode之前把"替换成\"
哈哈哈哈哈哈,颤栗吧~~~~
有话要说