android短信发送乱码,解决CEMAPI发送中文短信时会乱码
作者:陈缘
联系: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发送中文短信时会乱码相关推荐
- php在传json中文乱码,解决php json中文乱码问题
解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...
- linux+wine乱码,Ubuntu下Wine乱码解决方法与中文支持
由于这段时间安装了Ubuntu 9.04 x64的系统,也碰到了很多问题,收集起来以便方便使用 安装 wine ubuntu 官方自带了 wine , 但是推荐用 winehq 官方提供的最新版本 w ...
- php 对象json中文乱码,解决php json中文乱码问题
php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. PHP中json中文乱码问题解决 问题: 众所周知使用jso ...
- 解决文件名是中文时的下载乱码问题
在文件下载时候通常文件名是中文时会出现乱码问题,有两种解决方案 第一种 (在页面对代码进行编码) 不推荐使用 jsp代码 <%@page import="java.net.URLEnc ...
- 永久解决python matplotlib 中文字体的显示乱码-Windows系统
在python中使用matplotlib绘图时,新手通常会遇到中文字体无法显示或显示乱码的问题,这是因为matplotlib中默认没有中文字体.windows系统下的永久解决方法如下: 1.确定当前p ...
- mysql中文乱码解决_java+mysql中文乱码问题
乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...
- IDEA中文棱形乱码错误解决方法--控制台中文输出棱形乱码
目录 正确解决方法 使用Idea Maven创建项目,控制台输出错误,中文乱码成棱形. 控制台输出错误如下:乱码部分为中文 在编辑区.搜索区编码均正确. 错误原因 IDEA对文件的编码与解码方式不同, ...
- struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法
项目又出了一些小问题,在更新/插入中文数据到mysql数据库时会显示问号. 我做了如下工作解决了问题: 1. 检查页面编码 将所有的jsp页面编码方式.字符集更改为 2. 更改数据库字符集/编码方式 ...
- 文件传服务器上全是乱码,解决txt文件上传oss服务器乱码的问题
今天上传txt文件下载下来却乱码,搞了一下午,发现还挺复杂.记录一下. 1.首先服务器只接受utf-8格式的文件,所以首先想到的就是转码问题. 这是网上很容易就找到的判断文件编码的代码.判断出来之后如 ...
最新文章
- 在.net中使用GDI+来提高gif图片的保存画质
- javascript js异步加载
- Swift实战-QQ在线音乐(第二版)
- Linux 查看当前用户id和组id
- 摄像头图像分析目标物体大小位置_小目标检测的增强算法
- 算法导论学习笔记 6.5 优先队列
- Posix本地通信用于同一设备或native和framework层之间
- 基于VHDL自动售邮票机设计
- PHP 怎样理解go指针,关于Go指针的介绍
- 怎么给自己的python换源_windows/linux下如何更换Python的pip源
- json最大长度限制_api接口返回动态的json格式?我太难了,尝试一下 linq to json
- LiteOS:剖析时间管理模块源代码
- ArcGIS API for JavaScript 4.9 3.26 发布与新特性
- voip 客户端 android,Android基于OpenSL ES,Speex,RTMP的Voip客户端实现
- Shiro - RememberMe记住我功能实现
- 想知道如何批量压缩图片?来试试这几个图片压缩工具
- 【英语语法入门】 第13讲 形容词
- HDU 5855-最大权闭合图(-最小割应用)
- CPU内核和逻辑处理器的区别
- AIR - 网页系统回到桌面应用