idhttp get 中文出现乱码的问题
默认是按系统指定locale(CP_ACP)输出的,简体中文系统默认的是gb18030(虽然名义上是gb2312的代码页)。但是indy只对utf-8的编码进行了处理,所以其他编码只能自己想办法处理了,比如这样:
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;
本文介绍了解决使用IDHTTPGet组件时遇到的中文乱码问题。通过指定字符串流的编码为GB2312或GB18030,可以正确处理中文内容。

207

被折叠的 条评论
为什么被折叠?



