如何在PHP上的Ubuntu 13.10上通过GSM使用gsmsendsms发送中文短信?

时间:2013-12-25 12:06:58

标签: php ubuntu sms gsm

我正在尝试通过GSM USB调制解调器在Ubuntu 13.10上发送汉字短信 Q1:
这是我的代码:

<?php echo system("gsmsendsms -d /dev/ttyACM7 -b 115200 13330925583 '你怎么样?'");?><br>


然后,发送成功!但人物被打破了 如何清楚地发送UTF8字符?
Q2:
我使用的是GSM USB 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>

....

请帮帮我。

1 个答案:

答案 0 :(得分:1)

首先你应该修补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

注意:4e2d56fd是中文单词的unicode&#34;中国&#34;,您可以使用的简单转换unicode

  $sudo /temp/gsmlib-1.10/apps/gsmsendsms  -u -d /dev/ttyACM0  13218647024   $(printf "%x" "'中") $(printf "%x" "'国")

没关系