欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

wp客户端socket接收中文乱码有关问题

更新时间: 2014-01-05 02:38:47 责任编辑: Author_N1

 

WP客户端socket接收中文乱码问题
服务器端:
是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);

求助啊啊啊
--参考方法--
c++那边就用普通的字符集,可以考虑发送之前转码

或在 WP 端接收到后进行转码
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:38:47
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12573/
本文WWW.DOC100.NET DOC100.NET版权所有。