急 -CHttpFile得到的网页时GBK的 mfc是ansi的 得到的是乱码 小弟我是要将保存到CString的数据转成GBK的还是转成Ansi的
急 ---CHttpFile得到的网页时GBK的 mfc是ansi的 得到的是乱码 我是要将保存到CString的数据转成GBK的还是转成Ansi的
我用CHttpFile 得到一个网页的数据 其网页的编码是GBK的 显示的是乱码
我是需要将我的数据转成GBK的还是转成ansi的
求大神解答
------解决方案--------------------
http://bbs.****.net/topics/380109414
------解决方案--------------------
编码问题一个函数搞定,把你的乱码做参数传进去,后面的参数不用动,出来的就是转好的
------解决方案--------------------
你是怎么得到数据的?
用Read还是ReadString?
读到char szData[1024]中然后
CString strText(szData);
我用CHttpFile 得到一个网页的数据 其网页的编码是GBK的 显示的是乱码
我是需要将我的数据转成GBK的还是转成ansi的
求大神解答
------解决方案--------------------
http://bbs.****.net/topics/380109414
------解决方案--------------------
编码问题一个函数搞定,把你的乱码做参数传进去,后面的参数不用动,出来的就是转好的
CString Convert(CString str,int sourceCodepage = CP_UTF8, int targetCodepage = CP_ACP)
{
int len = str.GetLength();
int unicodeLen = MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0);
wchar_t *pUnicode;
pUnicode = new wchar_t[unicodeLen+1];
memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t));
MultiByteToWideChar(sourceCodepage,0,str,-1,(LPWSTR)pUnicode,unicodeLen);
BYTE *pTargetData = NULL ;
int targetLen = WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char*)pTargetData,0,NULL,NULL);
pTargetData = new BYTE[targetLen+1];
memset(pTargetData,0,targetLen+1);
WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char*)pTargetData,targetLen,NULL,NULL);
CString rt;
rt.Format("%s",pTargetData);
delete []pUnicode;
delete []pTargetData;
return rt ;
}
------解决方案--------------------
你是怎么得到数据的?
用Read还是ReadString?
读到char szData[1024]中然后
CString strText(szData);