作者:陈缘

联系:luandao2000@gmail.com

博客:http://blog.csdn.net/luandao2000

主页:http://www.spbase.com

这个问题 所有用CEMAPI发送短信的同志都会碰到,问题的根本在于 保存时sms的内容没有按照unicode类型保存。设置成unicode的类型就搞定了。

代码如下:

IMAPIFolder* pCurFolder = GetMsgFolder(ID_DRAFTS);

SPropValue Data[3];

SPropValue propVals[1];

MAPINAMEID mapiNameId;

ZeroMemory(&mapiNameId, sizeof(mapiNameId));

GUID PS_MAPI = {0x00020328, 0, 0, 0xC0,0,0,0,0,0,0,0x46};

mapiNameId.lpguid = (LPGUID)&PS_MAPI;

mapiNameId.ulKind = MNID_STRING;

mapiNameId.Kind.lpwstrName = L"SMS:Unicode";

LPMAPINAMEID pmapiNameId = &mapiNameId;

LPSPropTagArray psPropArr = NULL;

hr=pCurFolder->CreateMessage(NULL,0,&pMessage);

if(FAILED(hr))

goto Exit;

hr = pMessage->GetIDsFromNames(1, &pmapiNameId, MAPI_CREATE, &psPropArr);

if (FAILED(hr))

{

if (NULL != psPropArr)

{

MAPIFreeBuffer(psPropArr);

psPropArr = NULL;

}

pMessage->Release();

pCurFolder->Release();

return hr;

}

if (NULL != psPropArr)

{

propVals[0].ulPropTag = CHANGE_PROP_TYPE(psPropArr[0].aulPropTag[0], PT_BOOLEAN);

propVals[0].Value.b = TRUE;

hr = pMessage->SetProps(1, propVals, NULL);

ASSERT(SUCCEEDED(hr));

if (FAILED(hr))

{

MAPIFreeBuffer(psPropArr);

psPropArr = NULL;

pMessage->Release();

pCurFolder->Release();

return hr;

}

MAPIFreeBuffer(psPropArr);

}

//Data[0].ulPropTag = PR_SUBJECT;

//Data[0].Value.lpszW =pSms->szSubject;

Data[0].ulPropTag = PR_SUBJECT;

Data[0].Value.lpszW =pSms->szSubject;

Data[1].ulPropTag = PR_MSG_STATUS;

Data[1].Value.ul  = MSGSTATUS_RECTYPE_SMS;

Data[2].ulPropTag = PR_MESSAGE_FLAGS;

Data[2].Value.ul  = MSGFLAG_UNSENT|MSGFLAG_FROMME;

pMessage->SetProps(sizeof(Data)/sizeof(Data[0]),(LPSPropValue)Data,NULL);

SetMsgRecipient(pMessage, pSms);

hr = pMessage->SubmitMessage(0);

android短信发送乱码,解决CEMAPI发送中文短信时会乱码相关推荐

  1. php在传json中文乱码,解决php json中文乱码问题

    解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...

  2. linux+wine乱码,Ubuntu下Wine乱码解决方法与中文支持

    由于这段时间安装了Ubuntu 9.04 x64的系统,也碰到了很多问题,收集起来以便方便使用 安装 wine ubuntu 官方自带了 wine , 但是推荐用 winehq 官方提供的最新版本 w ...

  3. php 对象json中文乱码,解决php json中文乱码问题

    php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. PHP中json中文乱码问题解决 问题: 众所周知使用jso ...

  4. 解决文件名是中文时的下载乱码问题

    在文件下载时候通常文件名是中文时会出现乱码问题,有两种解决方案 第一种 (在页面对代码进行编码) 不推荐使用 jsp代码 <%@page import="java.net.URLEnc ...

  5. 永久解决python matplotlib 中文字体的显示乱码-Windows系统

    在python中使用matplotlib绘图时,新手通常会遇到中文字体无法显示或显示乱码的问题,这是因为matplotlib中默认没有中文字体.windows系统下的永久解决方法如下: 1.确定当前p ...

  6. mysql中文乱码解决_java+mysql中文乱码问题

    乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...

  7. IDEA中文棱形乱码错误解决方法--控制台中文输出棱形乱码

    目录 正确解决方法 使用Idea Maven创建项目,控制台输出错误,中文乱码成棱形. 控制台输出错误如下:乱码部分为中文 在编辑区.搜索区编码均正确. 错误原因 IDEA对文件的编码与解码方式不同, ...

  8. struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法

    项目又出了一些小问题,在更新/插入中文数据到mysql数据库时会显示问号. 我做了如下工作解决了问题: 1. 检查页面编码 将所有的jsp页面编码方式.字符集更改为 2. 更改数据库字符集/编码方式 ...

  9. 文件传服务器上全是乱码,解决txt文件上传oss服务器乱码的问题

    今天上传txt文件下载下来却乱码,搞了一下午,发现还挺复杂.记录一下. 1.首先服务器只接受utf-8格式的文件,所以首先想到的就是转码问题. 这是网上很容易就找到的判断文件编码的代码.判断出来之后如 ...

最新文章

  1. 在.net中使用GDI+来提高gif图片的保存画质
  2. javascript js异步加载
  3. Swift实战-QQ在线音乐(第二版)
  4. Linux 查看当前用户id和组id
  5. 摄像头图像分析目标物体大小位置_小目标检测的增强算法
  6. 算法导论学习笔记 6.5 优先队列
  7. Posix本地通信用于同一设备或native和framework层之间
  8. 基于VHDL自动售邮票机设计
  9. PHP 怎样理解go指针,关于Go指针的介绍
  10. 怎么给自己的python换源_windows/linux下如何更换Python的pip源
  11. json最大长度限制_api接口返回动态的json格式?我太难了,尝试一下 linq to json
  12. LiteOS:剖析时间管理模块源代码
  13. ArcGIS API for JavaScript 4.9 3.26 发布与新特性
  14. voip 客户端 android,Android基于OpenSL ES,Speex,RTMP的Voip客户端实现
  15. Shiro - RememberMe记住我功能实现
  16. 想知道如何批量压缩图片?来试试这几个图片压缩工具
  17. 【英语语法入门】 第13讲 形容词
  18. HDU 5855-最大权闭合图(-最小割应用)
  19. CPU内核和逻辑处理器的区别
  20. AIR - 网页系统回到桌面应用

热门文章

  1. VirtualBox6.0中CentOS7.6 网络配置
  2. 生产场景 bond 0实战
  3. 学习linux决心书
  4. http和ftp下载的区别
  5. javaWeb学习总结(4)- HttpServletResponse
  6. Android自适应屏幕大小和布局
  7. PIE SDK波段合成
  8. 大数据、云计算构筑百姓安全防护网
  9. LeetCode OJ:Remove Element(移除元素)
  10. [Js]删除数组指定元素