python版本和php版本,實(shí)測可以發(fā)送成功
我在研究用PHP調(diào)用微信企業(yè)號(hào)接口發(fā)送通知信息時(shí),遇到了一個(gè)問題,就是漢字編碼的問題。在用POST提交的數(shù)據(jù)如果是用數(shù)組型時(shí),要先用json_encode將數(shù)組型數(shù)據(jù)轉(zhuǎn)成josn字串,但數(shù)據(jù)中如果有漢字就會(huì)出現(xiàn)問題:json_encode不能序列化GB2312編碼的漢字,若是UTF-8編碼的漢字在用json_encode轉(zhuǎn)換后也成了無法識(shí)別的亂碼,微信企業(yè)號(hào)的接口也無法接收這些亂碼。該怎么辦呢?經(jīng)過反復(fù)研究、反復(fù)調(diào)試終于找出了兩種方法:
第一種方法(數(shù)組型數(shù)據(jù)):
1、將頁面代碼轉(zhuǎn)存成UTF-8編碼;
2、用urlencode將漢字編碼;
3、用json_encode將數(shù)組型數(shù)據(jù)轉(zhuǎn)成josn字串
4、用urldecode將josn字串型數(shù)據(jù)解碼;
5、再將解碼后的josn字串型數(shù)據(jù)發(fā)送給微信企業(yè)號(hào)接口即可。
第二種方法(字串型數(shù)據(jù)):
1、將頁面代碼轉(zhuǎn)存成UTF-8編碼;
2、將要傳遞的POST數(shù)據(jù)用字串拼接的型連接起來;
3、再將拼接好的字串型數(shù)據(jù)發(fā)送給微信企業(yè)號(hào)接口即可。
為了代碼簡單,我用了第二種方法,代碼如下:

本源碼地址:http://m.bmm520.net/vip/php/2019/1011/19977.html