Delphi 6+Indy 10控件
代码片段如下:
url:='http://www.ublove.com/cng/search/Profile.asp?userid=sexygirl486';
buff:=TMemoryStream.Create;
IdHttp1.Get(url,buff);
buff.SaveToFile('d:\ublove.htm');
//到这一步为止没有问题,保存下来的网页可以正常显示韩文
Memo1.Lines.LoadFromFile('d:\ublove.htm');
//这句就有问题了,显示出来的全是乱码,应该是Memo控件不支持Utf-8编码的缘故
Memo1.Lines.Text:=Utf8ToAnsi(Memo1.Lines.Text);
//进行Ansic转换,问题来了,韩问部分显示为???????,简体中文部分就没问题,我想应该是Utf8ToAnsi这个函数无法解码韩文的Utf-8编码吧,那有什么其他的函数可以代替吗?
又再作如下尝试:
url:='http://www.ublove.com/cng/search/Profile.asp?userid=sexygirl486';
buff:=TMemoryStream.Create;
IdHttp1.Get(url,buff);
size:=buff.Size;
setLength(str,size);
buff.ReadBuffer(str[1],size);
str:=StringReplace(str,'''','''''',[rfReplaceAll]);
with ADOQuery1 do begin
  Sql.Text:='Insert Into Table1 (html) values ('''+str+''')';
  ExecSql;
end;
//用该方法将抓取到的内容存入到数据库后,用网页显示出来也全是乱码,查看源码也和利用第一种方法直接存到硬盘的d:\ublove.htm这个文件完全不一样,请问如何解决此韩文问题?我同样用简体中文的Utf-8编码的网页测试过都没有问题的,关键是一有韩文就有问题了,全变成乱码,200分求高人指点(另:我机器是XP简体中文版,装过韩文输入法,韩文字体,我打开记事本都可以直接输入韩文的,office和ie中显示都没有问题,就是在delphi中就有问题)

解决方案 »

  1.   

    不是indy的问题,谁能把“鏃犳爣棰樻枃”这句还原成汉字?还有
    -----------------------------------------------------------------------
    頃犽”~~^^<br>
    旃滉惮 毵岆摛甑?鞁鹅柎靹?臧€鞛呿枅瓯半崺鞐?.^^<br>
    鞐赴 臧€鞛呿暅靷瀸霌?鞝勲秬 雮挫箿甑皜 霅犾垬 鞛堧弰搿?br>
    毵庫澊 雲鸽牓頃犼粯鞐?.^^<br>
    靷挫暀頃╇媹雼?.  ^鈭嘵纬
    ------------------------------------------------------------------------
    这段是韩文,用API函数无法还原,这段好像不是Utf8,好像是将Utf8编码的字符强制存储为Ansi的编码,导致出现乱码