以前的这篇文章是有问题的。今天重新修改下。
CHtmlView->GetSource获取到的源码存在乱码的情况。就是字符集的问题,以前想多了。
解决办法也很简单,就是根据网页的charset中的内容进行内容转码即可。
比如charset = UTF-8的时候,就直接将UTF-8转存ANSI或者UNICODE即可。
如果是GB2312的,不需要转换,在中文的系统环境中ANSI好像就是GB2312。这个具体可以google下这2者的区别。
UTF-8转UNICODE:
MultiByteToWideChar(CP_UTF8, 0, lpUTF8, cbUTF8, lpUnicode, cchMaxUnicode);
UNICODE转UTF-8:
WideCharToMultiByte(CP_UTF8, 0, lpUnicode, cchUnicode, lpUTF8, cbMaxUnicode, NULL, NULL)
顺便提一句:
1、MultiByteToWideChar:第一个参数CodePage:指示的是源字符串的字符集;
2、WideCharToMultiByte:第一个参数CodePage:只是的是目标字符串的字符集;