VS2008中使用socket编程接收乱码
今天动手将孙鑫十五章上的网络聊天室用VS2008为环境写了下,通过改掉种种error,终于编译成功,但是实际接收到确是乱码,比如我发个hello,接收显示的确是:
网上查了下,应该是字符编码不同的原因,但是不太清楚具体应该怎么衔接,希望这方面的大侠能够帮我解答下,我修改了字符集为多字符集之后又有别的错误,而且,我也比较希望能掌握unicode下的编程,希望大虾们不吝赐教,先谢谢了哦~ VS2008 socket 乱码
[解决办法]
发送端用wchar_t*等,同时注意长度
[解决办法]
是不是你接收recv时,没有在数据结尾加啊,这有很多socket例子,都可以运行,你试试:
http://download.csdn.net/detail/geoff08zhang/4571358
[解决办法]
/***********************************************************
** 函数名称: int ConvertUnicodeToAscii(const CString &csData, char* pszData)
** 功能描述: Unicode转多字节
** 参 数: const CString &csData Unicode字符串
char* pszData 保存转换的多字节字符串
** 返 回 值: 转换的个数
************************************************************/
int ConvertUnicodeToAscii(const CString &csData, char* pszData)
{
int nDataLength;
nDataLength = WideCharToMultiByte( CP_ACP, 0, csData, -1 ,NULL,0,NULL,FALSE);
WideCharToMultiByte( CP_ACP, 0, csData, -1, pszData, nDataLength, NULL, 0);
pszData[nDataLength - 1] = '\0';
return nDataLength - 1;
}
转了之后,用转的char数组发