使用glushkovds/php-smpp包发送Unicode短信的问题
实现glushkovds/php-smpp发送Unicode短信
要发送Unicode短信(如中文、特殊字符),核心是指定UCS2编码格式,并在发送时传递对应的编码参数。以下是修改后的实现代码:
<?php require_once 'vendor/autoload.php'; $service = new \PhpSmpp\Service\Sender(['XXX.XXX.XXX.XXX'], 'XXX', 'XXX', true); // Unicode内容示例(比如中文) $messageText = '这是一条Unicode测试短信'; // 发送时指定编码为UCS2(data_coding值为8) $smsId = $service->send('Receiver Number', $messageText, 'Sender', [ 'data_coding' => 8, ]); var_dump($smsId);
关键说明:
- data_coding参数:设置为
8对应SMPP协议中的UCS2编码,这是Unicode短信的标准编码格式。 - 文本内容:直接使用Unicode字符串即可,该包会自动将其转换为符合要求的UCS2字节流,无需手动编码转换。
- 兼容性:确保你的SMPP服务端支持UCS2编码的短信接收,大部分主流短信网关都支持该格式。
内容的提问来源于stack exchange,提问作者Debasish Das
相关产品推荐
相关产品推荐

