Ajax encoding Problem
klexx
- javascript
Hi,
Ich lade, per Ajax, Html Seiten in ein Div.
Leider wird das encoding der Seite im Div nicht von der Hauptseite übernommen...
wie muss der Header der geladenen Seite aussehen damit das encoding funktioniert?
Oder muss ich das überhaupt anders machen?
danke euch
lg klexx
Hallo,
Ich lade, per Ajax, Html Seiten in ein Div.
Leider wird das encoding der Seite im Div nicht von der Hauptseite übernommen...wie muss der Header der geladenen Seite aussehen damit das encoding funktioniert?
Sende den HTTP-Header Content-Type mit einer Kodierungsangabe:
Content-Type: text/html; charset=Kodierungskürzel
Als Kodierungskürzel die Kodierung, die die per XMLHttpRequest geladenen Ressourcen haben, höchstwahrscheinlich ISO-8859-1, weil ich annehme, dass der Browser standardmäßig von UTF-8 ausgeht.
In PHP geht das z.B. mit header().
Oder muss ich das überhaupt anders machen?
Beziehst du dich auf die angegebene Seite?
Wieso verwendest du bei einer simplen Navigation XMLHttpRequest?
Da wäre die klassische Lösung mit Frames/iframe ja noch zugänglicher und Includes ausreichend. Eine Stelle jedenfalls, in der »Ajax« völlig deplatziert ist. Da wird sich deine Kundin freuen, dass sie nicht in den Suchmaschinen vertreten sein wird. Im Übrigen wäre es auch kein Problem, den Ajax-Effekt so einzubauen, dass die Seite auch ohne JavaScript zugänglich ist.
Mathias
Hi,
Ich lade, per Ajax, Html Seiten in ein Div.
Das ist vollkommener Unsinn.
Ein div darf keine HTML-Seite enthalten.
Ein div darf nur block- oder inline-Elemente enthalten.
Dein Ajax liefert nicht nur ein komplettes HTML-Dokument, sondern noch mehr (am Anfang steht noch "stage|")
Leider wird das encoding der Seite im Div nicht von der Hauptseite übernommen...
Für diese Seite (die ja keine sein dürfte), wird bei der Übertragung keine Codierung angegeben.
Bei XML ist die Default-Codierung UTF-8. Wegen XML-Httprequest wird dies vermutlich angenommen.
Ausgeliefert wird aber wohl ISO-8859-1.
wie muss der Header der geladenen Seite aussehen damit das encoding funktioniert?
Es darf keine Seite sein. Sondern nur der Teil, der in einem div erlaubt ist.
Oder muss ich das überhaupt anders machen?
Besser wäre es, siehe auch molilys Antwort.
cu,
Andreas