首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

idhttp乱码有关问题

2013-09-05 
idhttp乱码问题本帖最后由 beizidream 于 2013-08-08 10:51:20 编辑由于网页有很多编码,所有我直接用Memor

idhttp乱码问题
本帖最后由 beizidream 于 2013-08-08 10:51:20 编辑 由于网页有很多编码,所有我直接用MemoryStream获取网页内容


  res,errs : TMemoryStream;
begin
  res := TMemoryStream.Create;
  try
    idhtp.Post(url, postdata, res);
    Result := res;
  except
    on e:Exception do begin
      errs := TMemoryStream.Create;
      StringToStream(e.Message , errs);
      Result := errs;
      raise Exception.Create(e.Message);
    end;
  end;

然后再用TStringStream来实现代码转化

    resultss := TStringStream.Create('', TEncoding.UTF8);
    resultss.Write(contentbytes[0], endpos-startpos);

但是只要是有中文,结果完全就不对了,乱码得很严重,

我想不管什么编码,统统直接用转换成utf8好处理,求帮助 编码 乱码 Delphi
[解决办法]
网站不是utf-8编码的?
[解决办法]
AnsiToUtf8();
Utf8ToAnsi();
我的经验是直接这两个函数就够用了。
[解决办法]
引用:
我用的是delphiXE, 程序里面我得用 ansistring 吗
在2010以后 好像默认的是widestring
[解决办法]
判断response content编码的方法
1. response header的Content-Type,现在规范的网站都会是text/html; charset=xxxx这种格式了。

2. 通过html的meta标签,xml的encoding属性等。比如<Meta http-equiv="Content-Type" Content="text/html; charset=gb2312">。 

热点排行