要先把字节码转为utf8,再转为Utf8ToAnsi

解决方案 »

  1.   

    注意大小端处理。有些字串发送前,并未做编码处理,默认会是ascci。d2009:TStrings 默认编码为 UTF-8,如果这样处理,就不需要转字节码var
      server: TIdHttp;
      Parameters: TStringList;
      Response: TStringStream;
    begin
      response := TStringStream.Create;
      Parameters := TStringList.Create;
      Parameters.Add('param1=Value1');
      Parameters.Add('param2=عربي/عرب');
      Parameters.Add('param3=Value3');
      Server.Post('http://www.example.com/page.php',Parameters,response);
    end;
    也可以这样指定
    [code=delphi]
    Server.Request.ContentType := 'application/x-www-form-urlencoded';
    Server.Request.Charset := 'utf-8';[/code] 
      

  2.   

    var
      S : String;....................  S := IdHTTP1.Post(......,   IndyTextEncoding_UTF8);   //   最后一个参数
      

  3.   

    Utf8ToAnsi 应该可以的,是否转换前已经乱了