Einzelnen Beitrag anzeigen

kriegste

Registriert seit: 9. Jul 2006
25 Beiträge
 
#1

TIdHTTP.Post / PHP / Umlaute in Formulardaten

  Alt 6. Sep 2010, 17:27
Hallo,

ich nutze D6 und Indy 10 (neuer Snapshot) und möchte Formulardaten per Post abschicken und mit einem PHP-Script empfangen.
Es bereiten mir u.a. Umlaute Probleme. Diese kommen nicht korrekt im PHP-Script an. Ich lasse das PHP-Script der Einfachheit halber die Daten wieder an die Delphi-Anwendung zurückschicken. Allerdings würde auch PHP den gelieferten Text fehlerhaft in eine Datei schreiben (es liegt also nicht am Zurückschicken der Datei). Anbei meine Versuche. Der jeweils zurückgegebene String steht hinter dem Kommentar. Da sollte selbstverständlich ä stehen, wenn alles korrekt wäre.

Wo stehe ich auf dem Schlauch?

---
Delphi-Quellcode:
  sl:= TStringList.Create;
  try
    sl.Add('test=ä');
    try
      ShowMessage(HTTP.Post('http://localhost/test.php', sl)); // a
    except
    end;
  finally
    FreeAndNil(sl);
  end;
---
Delphi-Quellcode:
  ds:= TIdMultipartFormDataStream.Create;
  try
    ds.AddFormField('test', 'ä');
    try
      ShowMessage(HTTP.Post('http://localhost/test.php', ds)); // =E4
    except
    end;
  finally
    FreeAndNil(ds);
  end;
---
PHP-Quellcode:
<?php
echo $_POST["test"];
?>
[edit=Matze][delphi]- und [php]-Tags eingefügt. Zukünftig bitte selbst daran denken. MfG Matze[/edit]

Geändert von Matze ( 6. Sep 2010 um 19:29 Uhr)
  Mit Zitat antworten Zitat