Я пытаюсь отправить китайские символы SMS через GSM USB-модем на Ubuntu 13.10
Q1:
Вот мой код:
<?php echo system("gsmsendsms -d /dev/ttyACM7 -b 115200 13330925583 '你怎么样?'");?><br>
Затем отправка успешно! Но персонажи разбиты.
Как можно однозначно отправлять символы UTF8?
Q2:
Я использую порт USB GSM Modem 8. т.е. ttyACM0 - ttyACM7
Я нашел код:
$fp=fopen('COM6', '+r');<br>
fputs($this->fp, "AT\r");<br>
.....
Итак, возможно ли:
$fp=fopen('ttyACM7', '+r');<br>
fputs($this->fp, "AT\r");<br>
....
Пожалуйста, помогите мне.
Сначала вы должны исправить gsmsendsms для поддержки unicode (google gsmsendsms.patch)
$apt-get source gsm-utils
goto dir ./gsmlib-1.10/apps/ and
$patch -p0 < gsmsendsms.patch
$./configure && make
Затем используйте команду
$sudo /temp/gsmlib-1.10/apps/gsmsendsms -u -d /dev/ttyACM0 13218647024 4e2d56fd
note: 4e2d56fd - это юникод китайского слова "中国", простой конвертирующий юникод, который вы можете использовать
$sudo /temp/gsmlib-1.10/apps/gsmsendsms -u -d /dev/ttyACM0 13218647024 $(printf "%x" "'中") $(printf "%x" "'国")
это нормально