dodgepudding / wechat-php-sdk

微信公众平台php开发包, weixin developer SDK.
4.44k stars 2.33k forks source link

中文转码问题直接传第二个参数JSON_UNESCAPED_UNICODE即可 #361

Open ionepub opened 5 years ago

ionepub commented 5 years ago

类中自定义了一个json_encode方法,避免在内容中有中文时会被转义成unicode,导致收到的消息是乱码(unicode),其实php中可以向json_encode方法传递第二个参数的值为 JSON_UNESCAPED_UNICODE,这个时候中文不会转义

json_encode(['index' => '中文'], JSON_UNESCAPED_UNICODE);  // 输出: {"index": "中文"}
landall commented 5 years ago

类里边的json函数无法正确处理\n,在发送字段里包含\n的模板消息时无法正确被微信识别。

我简单改了一下,还没充分测试。 static function json_encode($arr) { return json_encode($arr, JSON_UNESCAPED_UNICODE); }