Hallo Leute,
nicht gleich meckern, ich weiß, es gibt schon etliche Threads zur Datencodierung etc.
Aber keines davon bringt mich weiter und irgendwie weiß ich derzeit nicht, was ich wirklcih falsch mache oder was ich wie codieren und decodieren soll.
Standardproblem: AJAX-Routine übergibt Datenstring an den Server zu einer PHP Datei und irgendwie passt es mit den deutschen Umlauten nicht, was sich jedoch komischerweise wie folgt äußert:
Ein <input type="text"...> - Feld für den User, der gibt da fleißig Namen ein.
Dieser Feld-Value wird bei onkeyup mal eben per Request an den Server abgesetzt, so weit so gut, klappt prima. Folgende Codierung wurde hierbei als AJAX Standard für "POST" gesetzt:
http_request.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
Der übergebene URI wurde zuvor nicht mit Javascript codiert, also kein encodeURI() für die Datenfolge ausgeführt.
Alles klappt prima, bis man auf die Idee mit Umlauten kommt. Aber was jetzt wie umcodieren?
Denn das Problem ist, das ich nicht weiß, was die PHP Datei auf dem Server nicht versteht?
Denn es ist so, gebe ich einfach mal den String aus den $_POST Variablen aus bzw. sende diesen zurück, dann steht nach Eingabe von "Bäume" im Textfeld auch hinterher "Bäume" in $_POST['textfeld'], also wäre doch eigentlich alles ok, oder wie?
Ich kann encodeURI() benutzen oder nicht, völlig egal.
Die PHP Datei bringt mir den Inhalt immer richtig zurück, damit arbeiten kann sie aber wohl nicht, denn SQL-Aufrufe enden Erfolglos.
Ich kann ja zum Test die PHP Datei direkt im Browser aufrufen, dann liefert sie korrekte Ergebnisse, auch wenn ich Umlaute im Browser eingebe, werden die "gleichen" (denn so gleich können sie ja nicht sein) Daten mittels der AJAX Routine gesendet, dann gibts wieder nur Murks.
NUR, was hat der Server für Daten bekommen? Wie gesagt, lasse ich den angeblichen Inhalt der gesendeten Daten zurückschicken, dann steht alles korrekt drin mit Umlaut, also was hat der Server für andere Buchstaben erhalten als ich hinterher auf dem Bildschirm?
Ich bin ein wenig ratlos und hoffe ihr könnt mir helfen, sofern ihr mich jetzt überhaupt verstanden habt...?!?! ich hoffe doch... ;-)
Gruß
Skyman