我用2009的idhttp获取网页内容 网页内容是字母或数字没问题,获取中文乱码php网页上就输出2个汉字
<php?
echo '哈哈;
?>
我直接用get获取的
showmessage(idhttp.get('http://localhost/echo.php'));相同代码放到2007就可以正确显示汉字,请高手帮忙看看2009下如何能转换成可以看得懂的汉字?
<php?
echo '哈哈;
?>
我直接用get获取的
showmessage(idhttp.get('http://localhost/echo.php'));相同代码放到2007就可以正确显示汉字,请高手帮忙看看2009下如何能转换成可以看得懂的汉字?
解决方案 »
- delphi数据库实时更新的问题
- delphi7中可以直接在DBgrids中操作表的数据吗?急,在线等!
- 线程为何在构造函数处出错?
- 兄弟们救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!!!!!救命啦!!!!
- 请教如何用delphi控制IIS中的FTP服务的启动和结束!
- Ole问题
- 关于DBGrid多选问题请教
- 不是用编程完成的问题!
- 我是牛虻,我又碰到问题了,还是运行期间创建表(Paradox)的……,gg,dd,jj,mm帮我呀
- 如何判断Edit1.text的值不是数字?
- Delphi调用OutLook群发邮件问题
- delphi 问题
procedure TForm1.btn1Click(Sender: TObject);
var
str:string;
idhttp1:tidhttp;
retstr:string;
begin
idhttp1:=TIdHTTP.Create(nil);
try
idhttp1.Request.AcceptCharSet := 'UTF-8';
ShowMessage(idhttp1.Get('http://localhost/index2.php') );
idhttp1.Free;
except
idhttp1.Free;
end;
end; end.
var
vStream: TMemoryStream;
begin
vStream:= TMemoryStream.Create;
IdHTTP1.Get('http://localhost/echo.php', vStream);
vStream.Position := 0;
Memo1.Lines.LoadFromStream(vStream);
vStream.Free;
end;
对了,你的网页是什么编码格式?
<php?
echo '哈哈;
?>
就这么点代码,我先试试你上边的方法,一会回来
你可以研究下这个: TEncoding
你可以研究下这个: TEncoding
ss : TStringStream;
begin
ss := TStringStream.Create('', TEncoding.GetEncoding(936)); { 指定gb2312的中文代码页,或者54936(gb18030)更好些 }
try
IdHTTP1.Get(CSURL, ss);
IdHTTP1.Get(CSURL);
Memo1.Text := ss.DataString;
finally
ss.Free;
end;
end;
ss : TStringStream;
begin
ss := TStringStream.Create('', TEncoding.UTF8);
try
IdHTTP1.Get(CSURL, ss);
Memo1.Text := ss.DataString;
finally
ss.Free;
end;
end;