WP客户端socket接收中文乱码问题

oubenruing 2013-09-02 10:09:47
服务器端:
是c++写的执行sql语句从oracle数据库中查询内容通过socket发送;c++编译默认编码是unicode


_RecordsetPtr Rp=connect.GetRecordset(sql);
_variant_t varUserName;
string strUserName;
varUserName = Rp->GetCollect ("TICKETCODE");//票号
strUserName=strUserName+(char *)_bstr_t(varUserName);
strUserName=rtrim(strUserName);
send(clientSocket,strUserName.c_str(),strUserName.length(),0);


客户端:
是c#写的WP客户端接收以后乱码 相关代码如下;[(c++写的windows窗体应用程序客户端接收不会乱码;)/size]

string response = "something";
SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs();
socketEventArg.RemoteEndPoint = _socket.RemoteEndPoint;
socketEventArg.SetBuffer(new Byte[MAX_BUFFER_SIZE], 0, MAX_BUFFER_SIZE);
socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(delegate(object s, SocketAsyncEventArgs e)
response = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred);//个人猜测是这里设置编码有问题
response = response.Trim('\0');

[size=16px]改成如下代码也不行


response = Encoding.unicode.GetString(e.Buffer, e.Offset, e.BytesTransferred);

求助啊啊啊
...全文
239 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
91program 2013-09-02
  • 打赏
  • 举报
回复
c++那边就用普通的字符集,可以考虑发送之前转码 或在 WP 端接收到后进行转码
oubenruing 2013-09-02
  • 打赏
  • 举报
回复
引用 1 楼 cuit 的回复:
大小端? 我随便一猜。
我把c++的服务器端字符串改成 unicode的编码 这边也改成unicode编码可以识别。。 但是我现在是想改客户端这边的编码 我应该怎么改 c++那边就用普通的字符集。。不用宽字符集
gnimgnot 2013-09-02
  • 打赏
  • 举报
回复
大小端? 我随便一猜。
oubenruing 2013-09-02
  • 打赏
  • 举报
回复
据说是转成GB18030 但是
response = Encoding.GetEncoding("gb18030").GetString(e.Buffer, e.Offset, e.BytesTransferred);
会报错啊 无语了
oubenruing 2013-09-02
  • 打赏
  • 举报
回复
引用 3 楼 91program 的回复:
c++那边就用普通的字符集,可以考虑发送之前转码 或在 WP 端接收到后进行转码
WP端接收到之后怎么转码? 或者说应该转成什么。。
内容概要:本文针对光伏电池在不同工况下的运行需求,深入研究了最大功率点跟踪(MPPT)与恒功率控制模式之间的切换策略,并基于Simulink平台构建仿真模型以验证控制逻辑的有效性。研究重点涵盖两种控制模式的工作原理、切换判据的设计、控制器参数的优化整定以及系统在模式切换过程中的动态响应特性,旨在实现光伏发电系统在保证最大发电效率的同时,满足电网对功率输出稳定性的要求。通过仿真分析,评估了系统在光照突变、负载波动等典型场景下的运行性能,提升了光伏系统并网的适应性与运行灵活性。; 适合人群:具备电力电子、新能源发电技术或自动控制理论基础的高校研究生、科研人员及从事光伏逆变器与并网系统设计的工程技术人员。; 使用场景及目标:①用于科研项目中光伏系统多模式控制策略的仿真验证;②支撑学术论文撰写中关于模式切换机制、系统稳定性与动态性能分析的内容;③为实际工程中光伏电站的运行控制、逆变器多模式切换逻辑设计提供理论依据与仿真原型参考。; 阅读建议:建议结合提供的Simulink仿真模型同步操作,重点关注模式切换条件的设定逻辑与系统过渡过程的仿真结果,深入分析切换瞬间的功率波动与恢复特性,可进一步将该方法迁移至其他可再生能源发电系统的多模式协调控制研究中进行对比与拓展。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧