Umlautproblem in Ajax-Request

Kai-Behncke

Erfahrenes Mitglied
Hallo liebe Leute,

ich stehe vor einem ganz merkwürdigen Rätsel,


über ein Textfeld können Personen bei mir einen String (Variable q ) eingeben, dieser
wird dann über Ajax verarbeitet:


function sendeajaxanfrage (q) {

xhr.open( "POST", "serverantwort.php?menue=4&q=" + q, true ) ;
xhr.onreadystatechange = ajaxverbindung ;
xhr.send( null ) ;
};

function ajaxverbindung () {

alert (xhr.responseText);



}

Das Problem: Wenn ich im IE (im Firefox geht es)
einen Umlaut (z.B. ü) eingebe, dann wird das nicht sauber ausgegeben:


Tippe ich z.B. Grü, dann erscheint im alert-Feld:

Gr?le>

Selbe Ausgabe erscheint auch im php-Skript (serverantwort.php) bei:

$suche = $_GET['q'] ;
echo $suche;


Kann mir jemand einen Tipp geben, wie ich das umgehen kann?

Danke im Voraus, Kai
 
Moin Kai,

ich würde mal tippen, der Client erhält keine oder falsche Informationen über die Codierung der beteiligten Seiten.
 
Hi Sven, danke zunächst für die Antwort.


Ich habe das jetzt einfach gelöst, indem ich in dem Ajax-Skript mit einem replace arbeite:

q=q.replace(/ü/g, "ü");
q=q.replace(/ö/g, "ö");
q=q.replace(/ä/g, "ä");
q=q.replace(/ß/g, "ß");

Viele Grüße, Kai
 

Neue Beiträge

Zurück