2016-04-05 15 views
1

現在、私は彼/彼女がサインアップするとすぐにユーザーにSMSを送信するコントローラ内の関数で次のコードを使用しています。オンラインWeb SMSサーバー(msg91)からSMSを送信するときに、SMS文字列でINR記号(₹)を送信する方法は?

$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(); 

コードを何度も変更しようとしました。 Curl::to機能の最後に'unicode' => '1'を削除しようとしました。私は$msgをエンコードせず、SMSを送信しようとしましたが、無駄になりました。携帯電話で受信したSMSに(INR)の代わりに?のシンボルが表示されています。私の電話はMoto E 4Gで、それはルピーシンボルをサポートしています。 :)

SMSサーバーパネルからSMSを直接送信すると、この問題は発生しません。助けてください!

答えて

0

されています。 16進コードのみを送信する必要があり、ユニコードを1に設定する必要があります。受信したSMSのコードは自動的に "₹"に変換されます。次のように

正しいコードは次のとおり

$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(); 
関連する問題