Uch kun oldin men SMS yuborish uchun oddiy dastur yaratishni boshladim. Men uni allaqachon sinab ko'rdim va u GSM CSCS rejimida ishlaydi, lekin uni UCS2 ga o'tkazganimda kirill harflarini ko'rsatmaydi
<?php
error_reporting(E_ALL);
$fp = fopen("/dev/ttyUSB0", 'w+');
$msg = strtoupper(bin2hex(mb_convert_encoding("Тест", "UCS-2", "UTF-8")));
$number_raw = "+359000000000";
$number = bin2hex(mb_convert_encoding($number_raw, "UCS-2", "UTF-8"));
echo $number."<br>";
echo $msg;
$debug = false;
if(!$fp || $debug){
//echo "Can not open!";
}else{
fwrite($fp, "AT+CMGF=1".chr(13)); // OK
sleep(5);
fwrite($fp, 'AT+CSCS="UCS2"'.chr(13)); // OK
sleep(5);
fwrite($fp, 'AT+CMGS="'.$number.'"'.chr(13)); // OK
sleep(5);
fwrite($fp, $msg.chr(26)); // ERROR 500
echo "<br>Sent";
}
?>
Raqam va xabar ushbu manbaga muvofiq to'g'ri kodlangan: http://www.columbia.edu/kermit/ucs2.html
Xabar yuborilganda, men uni olaman (shuning uchun raqamni kodlash to'g'ri), lekin kontent to'g'ri ko'rsatilmaydi.
Ushbu xatti-harakatning mumkin bo'lgan sabablari nima va bu mening PHP fayl kodlashim bo'lishi mumkinmi? Bundan tashqari, nima uchun Linux 3 ta GSM tty qurilmalarini topmoqda?