读书人

UDP套接字传输汉字出现乱码,该怎么处理

发布时间: 2013-09-05 16:02:07 作者: rapoo

UDP套接字传输汉字出现乱码
本帖最后由 VisualEleven 于 2013-08-28 11:46:53 编辑 做的一个CS模式的程序,服务器用MFC编写,客户端用C++编写,
采用UDP传输数据,但是服务器接收中文数据时出现乱码
客户端发送数据:

string sendBuf;
cin>>sendBuf;
const char *sendTextBuf=sendBuf.c_str();
sendto(sockClient,sendTextBuf,strlen(sendTextBuf)+1,0,(SOCKADDR*)&addrSrv,len);

服务器接收数据
recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
CString str;
str.Format("%s",recvBuf);

[解决办法]
好吧,你发送用 string, 接受也用 string 好吧

现在mfc默认是unicode编码 ,你非要CString 也要这么用
CString str;
str = (char *)recvBuf;

自己写服务端客户端无所谓是不是utf-8编码

读书人网 >VC/MFC

热点推荐