IdHttp utf8 的郁闷
String tmp;
TStringStream *ss1=new TStringStream();
IdHTTP1->Get(url,ss1);
tmp = UTF8ToString(ss1->DataString.t_str());
Memo2->Text = tmp;
这样来做网页内的汉字倒是解析正确了,可是还会有几个'<'变成了'?',解析网页的程序是根据‘<,>’来判断网页标签的,变成了?解析就不是所想的结果了。我在2010下搞的,哪位同仁遇到过这样的问题不?用别人的控件就这么讨厌,实在不行只有重新自定义http类来实现了。这两天脑子短路了都不知道怎么搞了,想重新写又懒得搞,毕竟要达到完善要花很长的时间了,大家给个建议吧。
[解决办法]
你这个问题一直都没有搞定呢?
CBuilder2010的UTF8ToString是BUG的,我前两天也是正好用到这函数.被坑了几个小时的调试.
[解决办法]
试试我的代码看行不行??
TStringStream *RequestData=new TStringStream("",TEncoding::UTF8,true);
[解决办法]
String url;
url = "http://xxx";
TStringStream *ss=new TStringStream("",TEncoding::UTF8,true);
try
{
http1->Get(url, ss);
}
catch(...)
{
}
ss->Position = 0;
String sss = ss->DataString;
mmo1->Lines->Text =Utf8ToAnsi(UTF8String(sss) );
delete ss;
[解决办法]