使用PHP API发送带有unicode消息的短信


Sending SMS using PHP API with unicode message

我试图通过RoutoMessaging PHP API发送短信。我阅读了我能找到的所有文档和示例。他们有用unicode格式发送短信的PHP示例脚本:

<?php  
// include RoutoSMS class  
include("RoutoTelecomSMS.php");  
// creating object  
$sms = new RoutoTelecomSMS;  
// setting login parameters  
$sms->SetUssms->SetOwnNum("44792838383838");  
$sms->SetType("unicode"); 
// get values entered from FORM  
$sms->SetNumber($number);  
$message="04220432043E04580435002004370435043B0435043D04350020043E0
44704380020044104430020043C04380020043F0430043C043504420020043F043E
043C044304420438043B0435002E002E002E"; 
$sms->SetMessage($message);  
// send SMS and print result  
$smsresult = $sms->Send();  
print $smsresult;  
?> 

我不明白的是如何将文本从提交的字符串转换为包含在$message中所需的代码。有人能建议转换$message文本的功能吗?我目前使用的是PHP版本5.3.3。

您发送的消息是Cryllic文本。可能是塞尔维亚语。它读作"ТвОезеленеочисумипамерпомурил…"

解码

header('Content-Type: text/html; charset=utf-8');
$str = "04220432043E04580435002004370435043B0435043D04350020043E044704380020044104430020043C04380020043F0430043C043504420020043F043E043C044304420438043B0435002E002E002E";
foreach(str_split($str, 4) as $char) echo "&#x{$char};";

这就是你将如何编码信息

$string = "Твоје зелене очи су ми памет помутиле...";
$string = mb_convert_encoding($string, 'UCS-2', 'utf8');
for($i =0; $i < strlen($string); $i++)
    echo strtoupper(bin2hex($string[$i]));