Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP API和unicode消息发送SMS_Php_String_Function_Unicode - Fatal编程技术网

使用PHP API和unicode消息发送SMS

使用PHP API和unicode消息发送SMS,php,string,function,unicode,Php,String,Function,Unicode,我试图通过路由消息PHP API发送短信。我阅读了我能找到的所有文档和示例。 他们有用于以unicode格式发送SMS的PHP示例脚本: <?php // include RoutoSMS class include("RoutoTelecomSMS.php"); // creating object $sms = new RoutoTelecomSMS; // setting login parameters $sms->SetUssms->SetOw

我试图通过路由消息PHP API发送短信。我阅读了我能找到的所有文档和示例。 他们有用于以unicode格式发送SMS的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。

您发送的消息是一个水晶般的文本。可能是塞尔维亚语。它的意思是“托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫托夫

解码

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]));
string=“з;
$string=mb_convert_编码($string,'UCS-2','utf8');
对于($i=0;$i
如果您的号码实际上是(该号码减去额外的38),那么我建议将其删除。AFAIK SMS使用一种非常古老的编码,称为PDU。如果您的库没有在内部将Unicode转换为PDU,则必须自己进行转换。