我使用java与gsm调制解调器(西门子)使用AT命令进行通信。
我将调制解调器的编码设置为"UCS2“。
发送消息时,一旦发送电话号码,就会从设备中得到错误信息:
AT+CSCS=UCS2
好的
AT+CSMP=17,167,0,8
好的
AT+CMGF=1
好的
AT+CMGS=“0919 AT+CMGS=”
错误
请救救我!
发布于 2013-09-07 10:18:35
我认为您正在错误地将<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>参数到AT+CMGS。
发布于 2013-08-01 08:43:42
您的调制解调器很可能不支持UCS2的CMGS。
https://stackoverflow.com/questions/17945968
复制相似问题