微信接口创建按钮时的中文编码问题
在对微信订阅号接口开发的过程中,发现对微信服务器推送创建按钮的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)));