AJAX probleme mit dem Content-Type
steve_M
- javascript
Hi ich habe folgendes problem:
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
meine Frage ist nun, wie änder ich den Content-Type?
Das Script (sehr nett übrings):
<script type="text/javascript" language="javascript">
var http_request = false;
function macheRequest(url,IdUbergabe) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// zu dieser Zeile siehe weiter unten
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
return false;
}
Id_Ubergabe = IdUbergabe;
http_request.onreadystatechange = function() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById(Id_Ubergabe).innerHTML = http_request.responseText;
} else {
alert('Bei dem Request ist ein Problem aufgetreten.');
}
}
}
http_request.open('GET', url, true);
http_request.send(null);
}
</script>
echo $begrüßung;
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
Das deutet darauf hin, dass der Server ISO 8859-1 liefert, AJAX aber UTF-8 erwartet.
echo "$verabschiedung $name";
echo $begrüßung;
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
Das deutet darauf hin, dass der Server ISO 8859-1 liefert, AJAX aber UTF-8 erwartet.
echo "$verabschiedung $name";
Okay, du warst schneller ;)
Du solltest die Dateien die per Link eingeladen werden (die Dateien deren Name an die JS Funktion mit URL übergeben wird) ein Header setzen.
z.B.
header('Content-Type: text/html; charset=iso-8859-1');
echo $begrüßung;
ich setze ein Request ab. Nun bekomme ich alle ß als ? zurück geliefert.
Das deutet darauf hin, dass der Server ISO 8859-1 liefert, AJAX aber UTF-8 erwartet.
echo "$verabschiedung $name";
Okay, du warst schneller ;)
Du solltest die Dateien die per Link eingeladen werden (die Dateien deren Name an die JS Funktion mit URL übergeben wird) ein Header setzen.
z.B.
header('Content-Type: text/html; charset=iso-8859-1');
Okay es muss im Script ersetzt werden:
Aus...
http_request.overrideMimeType('text/html')
wird...
http_request.overrideMimeType('text/html;charset=iso-8859-1')