• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ajax: Umlaute

  • Ersteller Ersteller Efchen
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
E

Efchen

Guest
Hallo,

heute hab ich auch mal ne Frage. Ich beschäftige mich seit kurzem mit Ajax. Ich benutze prototype, was die ganze Angelegenheit ja ungeheuer einfach macht. Über Ajax.Updater lasse ich mir Daten aus einer Datenbank in einem Element anzeigen. Das funktioniert soweit anstandslos. Nur Umlaute werden nicht dargestellt. Die Seite, aus der heraus der Ajax-Aufruf stattfindet, hat im head in den meta-Angaben "charset=iso-8859-1" stehen, die Umlaute auf der restlichen Seite werden richtig angezeigt.

Im PHP-Script, das aufgerufen wird, gebe ich lediglich den Inhalt aus, der in das Element geladen werden soll. Dort kann ich ja keine weiteren meta-Angaben machen. Wie aber kann ich dem Browser verklickern, dass die Umlaute in diesem Codeschnipsel im selben charset ausgeliefert werden, wie die aktuelle Seite?

Danke,
-Efchen
 
Das solltest du direkt in deinem PHP Script machen.
 
Interessant für dich könnte sein:
  • header('content-type: text/html;charset=$deincarset');
  • evtl. auch setlocale()
  • Falls die Daten aus einer Datenbank kommen vielleicht auch mysql_query("SET NAMES '$deincarset'"); und mysql_query("SET CHARACTER SET '$deincharset'");
  • Dann noch darauf achten, dass die Datei, auf die über AJAX zugegriffen wird, auch selbst im gewünschten Charset gespeichert ist.
Dann kann eigentlich nichts schief gehen

Gruß
Voodoo
 
header('content-type: text/html;charset=$deincarset');
Kann ich den einfach so setzen bei Ajax? Gut, ich kanns ja ausprobieren :-)
Edit: -> Ja wunderbar. Das geht. Macht ja auch Sinn. Vielen Dank!

Danke, ich probier mal ein bisschen.
 
Zuletzt bearbeitet von einem Moderator:
ich danke auch, denn bisher habe ich "<meta http-equiv="Content-Type" content="text/html; charset=......." />" mit im Ajaxschnipsel ausgegeben, was das Charsetproblem ebenfalls behob. Eure Lösung ist aber die richtige. ;Jump
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben