以前的这篇文章是有问题的。今天重新修改下。

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:只是的是目标字符串的字符集;

 

posted on 2018-04-04 15:33  我,猪八戒  阅读(180)  评论(0编辑  收藏  举报