【发布时间】:2011-06-12 16:25:39
【问题描述】:
我有一个从 Internet 返回 HTML 页面的函数,但西里尔符号与其他一些未知字符一起显示。 如何转换文本并能够看到正常的西里尔符号?
我使用的是 Delphi 2009,我使用 indy 发送 HTTP 请求并从服务器返回响应。 (我想我有 indy9)
这就是我获取 HTML 页面的方式
http := TIDHttp.Create(nil);
http.HandleRedirects := true;
http.ReadTimeout := 5000;
http.Request.ContentType:='multipart/form-data';
param:=TIdMultiPartFormDataStream.Create;
param.AddFormField('subcat_id','501');
param.AddFormField('reg_id','1');
text:=http.Post('example.com',param);
我不知道 indy 是否有任何函数可以获取带有任何 unicode 的页面。
【问题讨论】:
-
可能是Unicode问题,请问您使用的是什么版本的Delphi,能否贴出代码或代码示例让我们看看?
-
您需要提供更多详细信息。您如何接收数据?它是如何编码的?
-
@David,首先,所有 HTTP 消息都是八位字节流。进一步的处理取决于它的内容类型和它的字符集参数。
-
致 OP:什么 Delphi 版本,您使用什么组件或库进行 HTTP 下载,您如何显示接收到的文本,您看到的是问号、正方形还是无意义的字符?跨度>
-
@User:在指定delphi版本之前,您的问题很难回答。