php 对接java短信接口带有英文逗号就无法通过

在对接短息接口时,对方是java接口,要求content两次编码

短信内容(Content)发起请求前必须进行URL转码。例如对于短信内容为“中文短信abc”,转码过程如下(java语言): 
String content=URLEncoder.encode("中文短信abc","GBK")
String newcontent = URLEncoder.encode(content,"GBK");
结果为:%25D6%25D0%25CE%25C4%25B6%25CC%25D0%25C5abc

我用php进行对接,刚开始使用

mb_convert_encoding($content, 'GBK', 'UTF-8')

刚开始测试没出现问题,知道内容使用了英文的逗号之后,对方返回参数错误

后来使用

urlencode(iconv("utf-8", "gbk", $content))

才正常,记录一下,以备后用

posted @ 2019-09-18 15:04  _DongGe  阅读(283)  评论(0编辑  收藏  举报