无法以印地语发送短信

  • 本文关键字:印地语 php api sms
  • 更新时间 :
  • 英文 :


我需要用印地语发送短信,为此我需要通过URL传递印地语字符串。

当我在 php 中编码时,我在字符串上使用urlencode($hindimessage)并通过 file_get_contents() 传递完整的 URL。执行时出现错误:

Warning: file_get_contents(http://IP GOES HERE/smpp/sendsms?username=$name&password=******&to=$contact&from=DEMOTT&coding=3&&text=%E0%A4%AE%E0%A4%A8%E0%A5%80%E0%A4%B7+%E0%A4%95%E0%A5%81%E0%A4): failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported

不使用urlencode(),服务器将文本视为空字符串并拒绝。

我也尝试了使用 utf8_encode() 编码。我在 HTML 标签中接收消息,例如 ही....

但是当我直接使用 API URL 时,我能够接收印地语消息,因为 API 是 Unicode API 编码 = 3 为印地语文本启用。(即 API 工作正常)

请告知我需要采用哪种方法来用印地语和英语发送消息。

提前致谢

如果你在函数中调用 URL,urlencode() file_get_contents()是必需的。

您需要采用 CURL 以印地语和英语发送消息。

 $smsgatewayurl = 'http://IP GOES HERE/smpp/sendsms';
 $post_data = array(); // All params including text message
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $smsgatewayurl);
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
 $output = curl_exec($ch);
 curl_close($ch);

与file_get_contents函数相比,CURL 是调用第三方 API 的最佳选择。我已经使用弹簧边缘短信网关(包括印地语文本)测试了上述功能。

设置 dcs 编码 =8 并将您的印地语字符转换为 Unicode 字符并将其放入文本字段中。这将起作用。

相关内容

  • 没有找到相关文章

最新更新