失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用CInternetSession获取utf-8页面中文乱码问题解决方法

使用CInternetSession获取utf-8页面中文乱码问题解决方法

时间:2021-07-25 06:17:53

相关推荐

使用CInternetSession获取utf-8页面中文乱码问题解决方法

代码如下:

myurl="";

CInternetSession session;

CHttpFile* theFile = NULL;

theFile = (CHttpFile*)session.OpenURL(myurl);

CString szLine;

while(theFile->ReadString(szLine))

szLine中汉字为乱码

若所要获取的网页为gb2312时可正常显示,但是csdn为utf-8编码,中文显示为乱码

<meta http-equiv="Content-Type" content="tet/html; charset=utf-8"/>

这种情况需要将UTF8字符串转换为gb2312才能正确显示中文

方法如下:

//将UTF8字符串转换为gb2312

void CLangConvert::ConvertUTF8toGB2312(CString str,_bstr_t& bstr)

{

int n=MultiByteToWideChar(CP_UTF8,0,str,str.GetLength(),NULL,0);

WCHAR * pChar = new WCHAR[n+1];

n=MultiByteToWideChar(CP_UTF8,0,str,str.GetLength(),pChar,n);

pChar[n]=0;

OLECHAR * pTempBuffer = pChar;

BSTR strPassword = SysAllocString(pTempBuffer);

_bstr_t aa (strPassword,FALSE);

bstr=aa;

SysFreeString(strPassword);

delete []pChar;

}

如果觉得《使用CInternetSession获取utf-8页面中文乱码问题解决方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。