delphi vs c# post returns different strings - utf problem?

Posted by argh on Stack Overflow See other posts from Stack Overflow or by argh
Published on 2010-06-15T10:37:24Z Indexed on 2010/06/15 11:32 UTC
Read the original article Hit count: 248

Filed under:
|
|
|
|

I'm posting two forms - one in c# and one in delphi. But the result string seems to be different:

c# returns: ¤@@1@@@@1@@@@1@@xsm˱Â0Ð...
delphi returns: #$1E'@@1@@@@1@@@@1@@x'#$009C...

and sice both are compressed streams I'm getting errors while trying to decompress it... The C# is 'correct' - ie. extracts. I'm not an expert on delphi - I just need to convert some piece of code from c# to delphi.

c# code:

string GetData(Hashtable aParam, string ServerURL)
{
    string Result = "";

    WebRequest Request = HttpWebRequest.Create(ServerURL);
    Request.Method = "POST";
    Request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";

    UTF8Encoding encUTF8 = new System.Text.UTF8Encoding(false);

    StreamWriter writer = new StreamWriter(Request.GetRequestStream(), encUTF8);
    foreach (DictionaryEntry element in aParam)
    {
        writer.Write(element.Key + "=" + element.Value + "&");
    }
    writer.Close();
    writer.Dispose();

    WebResponse Response = Request.GetResponse();
    StreamReader Reader = new StreamReader(Response.GetResponseStream(), System.Text.Encoding.Default);

    Result = Reader.ReadToEnd();
    Reader.Close();
    Response.Close();

    Reader.Dispose();

    return Result;
}

delphi code:

function GetData(aParam:TStringList; ServerURL:string):string;
var
  req: TIdHTTP;
  res: string;
begin
    req := TIdHTTP.Create();

    with req do
    begin
      Request.ContentType := 'application/x-www-form-urlencoded; charset=UTF-8';
      Request.Method := 'POST';
      Request.CharSet := 'utf-8';
      Request.AcceptCharSet := 'utf-8';
      res := Post(ServerURL, aParam);

    end;

    Result := res;
    req.Free;
end;

-edit- I'm using delphi 2010

© Stack Overflow or respective owner

Related posts about c#

Related posts about delphi