我是接收短信网关的内容,接收后显示为乱码,是因为UNICODE的原因吗?怎么办?
struct MO_msg{
INT64 msgID; //消息ID
char dest_id[21]; //接入号码
char service_id[10]; //业务代码
unsigned char tp_pid;
unsigned char tp_udhi;
unsigned char msgFormat; //消息格式
char sourceUser[12]; //发送消息的手机
unsigned char reg_deliver; //是否为应答消息,1=yes,0=no
unsigned char msgLen; //消息长度
// UCS4String msg[161]; //消息内容
wchar_t msg[161]; //消息内容
}
MO_msg *p_msg = NULL;
p_msg = new MO_msg;
stat=Get_MO(Connectid, p_msg); //接收短信
char gb[161];
WideCharToMultiByte(CP_ACP,0,p_msg->msg,-1,gb,161,NULL,NULL);
ShowMessage(gb);
ShowMessage(p_msg->msg);
显示结果都为: 杔橭?樠愠?3
为什么?