Gausi hat folgendes geschrieben : |
Das sollte dann funktionieren. Man sollte nur aufpassen, dass man die Parameter-Steuerzeichen wie %, &, ? nicht auch so maskiert.  |
Vielen vielen Dank!
Gibt es ein Limit an Zeichen die per Post oder URL gesendet werden?
Damit die %, & und co nicht maskiert werden:
Bevor ich die Daten in die TSTringList lade für den TidHTTP.Post, werden die Eingaben ausgewertet. Somit wandle ich diese im selben Schritt auch gleich um, und nicht die ganze URL
Werde jetzt gleich noch versuchen, ob das auch per POST funktioniert.
---
Moderiert von
Narses: Beiträge zusammengefasst---
OK, ich löse das ganze jetzt so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| ]function StringToURLString(aUTF8String: AnsiString): AnsiString; var i: integer; begin result := ''; for i := 1 to length(aUTF8String) do result := result + '%' + AnsiString(IntToHex(Ord(aUTF8String[i]),2)); end; |
Wobei ich aUTF8String: UTF8String mit AnsiString ersetzt habe. (1) Delphi 2009 gibt nun keine Warnhinweise mehr aus 2) Das PHP Script mit dem ich die Daten empfange und verarbeite reicht nun aus wenn ich da URLDecode($_POST['variable'] nur einmal verwende statt zwei mal

.
Vielen Dank für die Hilfe und Tipps! Ich bin grad unglaublich Glücklich
Einen wunderschönen Tag wünsch ich euch allen. Grüssle SoDaHo
Moderiert von
Narses: Zitat kenntlich gemacht.
Edit:
Ich korrigiere. Mit AnsiString werden logischerweise MEHR Warnhinweise ausgegeben.
So ist der "richtige" Code.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function StringToURLString(aUTF8String: String): String; var i: integer; begin result := ''; for i := 1 to length(aUTF8String) do result := result + '%' + String(IntToHex(Ord(aUTF8String[i]),2)); end; |