我正在使用java使用AT命令与gsm调制解调器(西门子)通信
我将调制解调器的编码设置为“UCS2”
当我发送电话号码时发送消息时,我从设备收到错误:
AT + CSCS = UCS2
好
AT + CSMP = 17,167,0,8
好
AT + CMGF = 1
好
AT + CMGS = “0919xxxxxxx”
错误
帮助我,PLEEEEEEASE! :(
答案 0 :(得分:5)
我认为您错误地将<da>
地址参数编码为AT+CMGS
。
您可以参考91和92样式,但是您实际上是指{81} /'82'格式,如Coding of Alpha fields in the SIM for UCS2博客文章中有关3GPP TS 11.11中指定的编码的说明吗?
运行AT+CSCS="UCS2"
后,每个字符串必须以这种方式编码,因此例如从UCS2切换到UTF-8将是AT+CSCS="005500540046002D0038"
。
具有80/81/82编码的Alpha字段仅适用于某些情况,而不适用于UCS2编码的字符串。特别注意上面AT+CSCS
命令中字符串“UTF-8”的编码与此无关。这也适用于<da>
的{{1}}参数。
答案 1 :(得分:0)
您的调制解调器很可能不支持带有UCS2的CMGS。