c++ builder 获取中文网页乱码的解决方法

今天需要用Indy 10 的TIdHTTP 来获取指定网页的 title description keywords 等meta 头信息

索性 就拿chinaz.com 来做实验,结果获取回来的是 乱码,正则匹配出来的也是乱码

AnsiString Response=IdHTTP->Get("http://www.chinaz.com");

想到Indy 10 对中文编码的兼容问题,且 TIdHTTP的GET方法还有个可选参数,即 TStream,于是

将刚才的获取方法改为

TStringStream *sResponse=new TStringStream();

IdHTTP->Get("http://www.chinaz.com",sResponse);

然后,再利用 sResponse->DataString 即可获得正确的中文网页了