Ajax und charset bei versenden mit "post"

C-H

Erfahrenes Mitglied
Hallo!

ich habe ein kleines Problem mit Ajax. Ich übertrage mit der untenstehenden Funktion einige Parameter an ein php-Dokument, daß diese in eine mysql-DB eintragen soll. Das ganze funktioniert auch wie geplant, nur daß Umlaute nicht richtig in der DB gespeichert werden. Das ganze sieht dann so aus:
"ääää" wurde eingegeben "ääää" wird in der DB gespeichert.

Habe schon ein bissel rumgegoogelt und den Tipp gefunden, daß man per setHeaderRequest die Zeichenkodierung "utf-8" explizit angeben soll - da ja xml-Dokument. Leider klappt das nicht. Was kann ich sonst noch machen?

Code:
function sr_post_sync(action, params)
{
 if(action.indexOf("?") == -1)
  uri = action+"?ac="+ac;
 else
  uri = action+"&ac="+ac;
  
 http.open('post', uri, false);
 content = uri.substr(uri.indexOf("?"));
 //alert(content + " (" + content.length + ")");
 http.setRequestHeader("Content-Length", content.length);
 http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 http.setRequestHeader('Charset', 'ISO-8859-1'); // So richtig?
 http.send(params);
 ac = ac+1;
 return http.responseText;
 
Zurück