从在线Web SMS服务器(msg91)发送SMS时,如何在SMS字符串中发送INR符号(₹)?

时间:2016-04-05 16:37:26

标签: curl unicode symbols

目前我在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服务器面板发送短信时,我不会遇到此问题。请帮忙!

1 个答案:

答案 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();