微信接口创建按钮时的中文编码问题



在对微信订阅号接口开发的过程中,发现对微信服务器推送创建按钮的Json总是出现失败, 打印了一下JSON的输出才发现被json_encode函数转换过的数组中,原先的中文字符全部被转成了URL编码. 所以在转JSON之前需要先对数组处理一下:

public function urlencodeArray($data){
    $result = array();
    foreach ($data as $k => $v){
        $result[urlencode($k)] = is_array($v) ? $this->urlencodeArray($v) : urlencode($v);
    }
    return $result;
}

处理过后的数组就可以使用json_encode编码之后返回了,问题解决. $json = urldecode(json_encode($this->urlencodeArray($data)));

comments powered by Disqus