目前我在Controller中的一个函数中使用以下代码,一旦他/她注册就会向用户发送短信。
$mobileNumber = Auth::user()->mobileNumber;
$name = Auth::user()->firstName;
$msg = 'Dear ' . $name . ', Thank you for joining ₹100! You referral link is www.xxxxx.in/join/' . $mobileNumber . '. Start referring your friends now!';
$encodedMsg = urlencode($msg);
$response = Curl::to('http://sms.wxxxxxxs.co.in/api/sendhttp.php')
->withData(array('authkey' => '108xxxxxxxxxxxxxxxxxx272',
'mobiles' => $mobileNumber,
'message' => $encodedMsg,
'sender' => 'RUPEES',
'route' => 'template',
'country' => '91',
'campaign' => 'Sign UP SMS',
'unicode' => '1'))
->post();
我尝试多次更改代码。试图删除'unicode' => '1'
函数末尾的Curl::to
。我也试过不编码$msg
并发送短信,但都是徒劳的。我的手机上收到的短信中显示的是?
符号,而不是₹
(INR)符号。我的手机是Moto E 4G,它确实支持卢比符号。 :)
当我直接从SMS服务器面板发送短信时,我不会遇到此问题。请帮忙!
答案 0 :(得分:0)
已经完成了。 只需要发送十六进制代码,并且必须将unicode设置为1.即可完成工作。代码将自动转换为"₹"在收到的短信中。
正确的代码如下:
$rupeeSymbol = "%E2%82%B9";
$msg = 'Dear ' . $user->firstName . ', Thank you for joining ' . $rupeeSymbol . '100! Your referral link is www.*****.in/join/' . $user->mobileNumber . '. Start referring your friends now! Earn ' . $rupeeSymbol . '100 for each referral.';
$response = Curl::to('http://sms.we*****s.co.in/api/sendhttp.php')
->withData(array('authkey' => '10xxxxxxxxxx111',
'mobiles' => $user->mobileNumber,
'message' => $msg,
'sender' => 'RUPEES',
'route' => 'template',
'country' => '91',
'campaign' => 'Sign UP SMS',
'unicode' => '1'))
->post();