2

RoutoMessaging PHP API 経由で SMS を送信しようとしています。見つけたすべてのドキュメントと例を読みました。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 を使用しています。

4

1 に答える 1

1

あなたが送っているメッセージはクリリックテキストです。おそらくセルビア語です。「Твоје зелене очи су ми памет помутиле...」と読みます。

デコード

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]));
于 2012-07-29T02:14:40.863 に答える