idhttp get 中文出现乱码的问题
默认是按系统指定locale(CP_ACP)输出的,简体中文系统默认的是gb18030(虽然名义上是gb2312的代码页)。但是indy只对utf-8的编码进行了处理,所以其他编码只能自己想办法处理了,比如这样:
- Delphi(Pascal) code
- var ss : TStringStream; begin ss := TStringStream.Create('', TEncoding.GetEncoding(936)); { 指定gb2312的中文代码页,或者54936(gb18030)更好些 utf8 对应 65001} try IdHTTP1.Get(CSURL, ss); IdHTTP1.Get(CSURL); Memo1.Text := ss.DataString; finally ss.Free; end; end;