Skip to content
Advertisement

UTF8 Encoded messages broken charecter on php smpp sms sending

Hi am using php smpp sms sending package to work on socket sms sending.

$transport = new SocketTransport(array(config('app.smppHost')), config('app.smppPort'));
            $transport->setRecvTimeout(10000);
            $smpp = new SmppClient($transport);

I am sending with $encodedMessage = GsmEncoder::utf8_to_gsm0338($message);

$smpp->sendSMS($from,$to,$encodedMessage,null,null);

UPDATE
But the sms is receiving with broken character.I am sending in myn language and also tried as suggested

$smpp->sendSMS($from,$to,$encodedMessage,null,null);

But now half broken half proper message is sending. I think some encoded needed ???

Advertisement

Answer

This is special language encoded issue you need both override the encoded version in smpp package as well as encode the text itself.

First convert the string

mb_convert_encoding($message,'UCS-2',"utf8");

Then send sms in encoded in type 8. it should work properly

$smpp->sendSMS($from,$to,$encodedMessage,null,8);
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement