Hey!
Ich hatte mein Problem schon einmal hier beschrieben.
Eure Antwort beinhaltete im Grunde, den Zeichensatz von ISO-8859-1 auf UTF-8 zu ändern. Das habe ich dann auch getan, allerdings machte das leider keinen Unterschied. Ich bin also wieder auf ISO-8859-1 umgestiegen (wegen Phase 5).
Ich bekomme die (mit Ajax) zu sendenden Zeichenketten (empfaenger, betreff, nachricht) als Argumente einer Javascript-Funktion (sndReq2):
function sndReq2(empfaenger, betreff, nachricht) {
if(navigator.appName.search("Microsoft") > -1){
//resObjekt = new ActiveXObject("Microsoft.XMLHTTP");
resObjekt = new ActiveXObject("MSXML2.XMLHTTP");
}
else{
resObjekt = new XMLHttpRequest();
}
rein = 'ajax_nachricht_send2.inc.php?empfaenger='+empfaenger+'&betreff='+betreff+'&nachricht='+nachricht;
resObjekt.open('get', rein ,true);
resObjekt.onreadystatechange = handleResponse;
resObjekt.send(null);
function handleResponse() {
if (resObjekt.readyState == 4) {
document.getElementById('send_process').style.display = 'none';
document.getElementById('result').innerHTML = 'Die Nachricht wurde versandt. Dieses Fenster schließt sich in <span id="closetime1">3</span> Sekunden.';
i = document.getElementById('closetime1').innerHTML;
aktiv = window.setInterval("reduce_closetime()", 1000);
}
}
}
Wenn ich nun Umlaute in das Formular eintrage, kommt ein ü als ü raus. Das liegt aber nicht am Zeichensatz! Ich habe mal den Test gemacht, und die Datei ajax_nachricht_send2.inc.php?empfaenger=Hendrik&betreff=Guten%20Abend&nachricht=Äpfel im Browser aufgerufen. Dort wurde dann natürlich automatisch das Ä durch ein %C4 ersetzt.
Das wichtige: In der Datenbank stand als Text dann tatsächlich Äpfel und nicht Äpfel.
Daher meine Frage: Wie muss ich meinen Javascript-Code verändern, damit die Umlaute korrekt maskiert werden (es liegt ja wohl an Javascript)?
Hendrik
-------------------
Zur Info: Ich habe leider nur PHP 4.4.7 und MySQL 4.1.22 zur Verfügung!
-------------------
ie:% fl:| br:> va:) ls:[ fo:) rl:( n4:° ss:| de:> js:| ch:? sh:( mo:) zu:)
SELFCode Decoder