AJAX: Problem mit Umlauten
Kalle_B
- https
Hallöle,
ich habe eine HTML- Datei mit der Zeile
<meta http-equiv='content-type' content='text/html;charset=ISO-8859-1'>
und einen Bereich, in den später etwas hineinkommt:
<div id=anzeigeFeld>_</div>
Wenn ich nun per Ajax dort eine Adresse anzeige, erscheinen die Umlaute als ? (Fragezeichen), obwohl sie vom sendenden Programm unverändert aus der Datenbank übermittelt werden.
Das sendende Programm sendet keinen <head>, sondern eine nackte Tabelle, die dann in obigen div eingefügt wird. Wie kann ich dieser Tabelle sagen, dass sie in ISO-8859-1 angezeigt werden soll?
Habe das Problem erstmal umgangen, indem ich in ä usw. wandle.
Lieben Gruß, Kalle
Ich grüsse den Cosmos,
<meta http-equiv='content-type' content='text/html;charset=ISO-8859-1'>
Was wird im Header gesendet?
Möge das "Self" mit euch sein
n'abend,
Das sendende Programm sendet keinen <head>, sondern eine nackte Tabelle, die dann in obigen div eingefügt wird. Wie kann ich dieser Tabelle sagen, dass sie in ISO-8859-1 angezeigt werden soll?
das Script, welches deine "nackte Tabelle" liefert, möchte gerne einen Content-Type-Header senden.
weiterhin schönen abend...
n'abend,
das Script, welches deine "nackte Tabelle" liefert, möchte gerne einen Content-Type-Header senden.
Wie sieht sowas aus? Eine Zeile wie
Content-Type: text/html; charset="ISO-8859-1"
würde doch wohl als Text angezeigt, oder? Da muss doch noch was drumrum ...
Kalle
n'abend,
Wie sieht sowas aus? Eine Zeile wie
Content-Type: text/html; charset="ISO-8859-1"
wir sprechen von einem _Header_. Ich weiss nicht welche Sprache du einsetzt, in PHP gibts da header() für.
weiterhin schönen abend...
n'abend,
das Script, welches deine "nackte Tabelle" liefert, möchte gerne einen Content-Type-Header senden.
Wie sieht sowas aus? Eine Zeile wie
Content-Type: text/html; charset="ISO-8859-1"würde doch wohl als Text angezeigt, oder? Da muss doch noch was drumrum ...
Kalle
Du musst unterscheiden, zwischen Dateiheader und Requestheader! Der hier gebrauchte Header ist ein Requestheader und wird nicht im Dokument dargestellt. Er sagt, wie das Dokument dargestellt werden soll. Ein HTML befindet sich auch in diesem Dokument. Wenn der Requestheader also falsch gesetzt ist, hilt dir dein Header im <head>-tag auch nichtsmehr.
Wichtig beim Requestheader: Wenn du ihn per Hand schreibst, muss er durch zwei Leerzeichen vom Content getrennt werden.
n'abend,
Du musst unterscheiden, zwischen Dateiheader und Requestheader!
RequestHeader: Browser -> Server
ResponseHeader: Server -> Browser
weiterhin schönen abend...
hi Kalle,
Stichwort uri_escape, mehr dazu hier:
http://rolfrost.de/cgi-bin/xmlhttpreq.cgi
Na, vielleicht hilfts Dir.
Viele Grüße, Rolf
echo $begrüßung;
Wenn ich nun per Ajax dort eine Adresse anzeige, erscheinen die Umlaute als ? (Fragezeichen), obwohl sie vom sendenden Programm unverändert aus der Datenbank übermittelt werden.
Die Kodierung "unverändert" gibt es nicht. Deine Daten sind, auch wenn dich das bisher nicht interessiert hat, in einer ganz bestimmten Kodierung in der Datenbank gespeichert. Aus der Art deines Problems nehme ich an, dass diese Kodierung auf den Namen ISO 8859-1 (oder Windows-1252) hört.
AJAX - das X steht für XML. Die Standard-Kodierung von XML ist UTF-8. Sorge dafür, dass die übertragenen Daten UTF-8-kodiert sind oder bring dem AJAX, bzw. der von die verwendeten Bibliothek bei, dass deine Daten anders kodiert sind. Oftmals wird "Kodierung" auch mit "Zeichensatz" gleichgesetzt. Es besteht also die nicht geringe Chance, dass relavante Funktionen irgendwas mit "charset" im Namen haben.
echo "$verabschiedung $name";