HTTPEncode() bei UTF8 führt aber zu Problemen bei Umlauten (äüö...) und Konsorten
Dreck. Gerade streikt es an Anfürhungszeichen.
Es ist doch echt zum
Ich
hasse Codierungs-Probleme, bzw allgemein diese Art von absolut unnötigen Problemen (auch z. B. das CR/LF Problem, wo jeder sein eigenes Süppchen kocht). Speicherplatz kost' nix, alles nur noch UTF-64
Nein ernsthaft, gibt es eine Funktion, die alle westlichen plus Sonderzeichen, sprich von mir aus nicht mal die arabischen und asiatischen Schriftzeichen beherrscht?
Naja, fürs Einloggen brauchte ich das nie festlegen, das stimmte alles wie es voreingestellt war.
Dass kommt immer drauf an wie "genau" es das Script/Server nimmt
Ich glaube du hast es dir ganz schön verkompliziert, aber solange es läuft
Tut es ja nicht, d. h. an und für sich schon, nur bei Sonderzeichen macht die Funktion eben schlapp...
EDIT:
Der TStringStream musst natürlich auch in UTF8 erstellt werden:
ResponseStream := TStringStream.Create('', CP_UTF8);
Also ich weiß nicht, in welcher Version du arbeitest, aber bei mir gibt es (noch?) keine überladene Create-Methode von TStringStream mit einem zweiten Parameter. Ich arbeite offenbar mit ziemlich veralteten Units, aber eigentlich ich bin froh, dass mein "TurboDelphi Explorer" überhaupt läuft...
EDIT:
OK, damit hatte ich nicht gerechnet... Ich hab
<TIdHTTP>.Request.ContentType := 'application/x-www-form-urlencoded';
hinzugefügt und er kommt auf einmal mit Satzzeichen klar. Soll heißen: Entweder war das eben ein Zufall, dass die Anfrage gescheitert ist, oder du hast mein Problem gelöst bevor es entstand.