Marco: AJAX, DOM und Sonderzeichen

Beitrag lesen

Hallo miteinander,

ich suche noch schon den ganzen Nachmittag nach einer Lösung für mein Problem. Mittels AJAX erhalte ich Daten aus einer Datenbank, die ich dann per DOM-Manipulation mit Javascript ausgeben lasse. Nun kommt es aber abundzu vor, daß Sonderzeichen in den Daten enthalten sind. Also z.B. "«". Auf meinem Mac wird dieses Zeichen wunderbar angezeigt. Windows-Rechner stellen es als Fragezeichen in einem auf der Spitze stehenden Viereck da. Es liegt also ein allgemeiner Konflikt bei der Zeichenkonvertierung vor nehme ich an. Das HTML-Dokument selbst hat ISO 8859-1 als Zeichensatz.

Eine mögliche Lösung, die leider nicht zum Erfolg geführt hat, war es, einfach durch das PHP-Skript alle Sonderzeichen mit "htmlentities()" zu kodieren. Doch die mit Javascript erzeugten TextNodes werden nicht noch einmal geparst. Die HTML-Entities erschienen also im Klartext, was ja auch nicht Sinn der Sache ist.

Es hat sich herausgestellt, daß obiges Zeichen durch "String.fromCharCode(171);" auch auf den Windows-Rechnern korrekt dargestellt wird. Ich könnte also mittels regulären Ausdrücken nach den HTML-Entities suchen und sie ersetzen. Das ist aber sehr umständlich und alles andere als dynamisch.

Vielleicht liegt mein Fehler auch ganz woanders. Ein falscher Zeichensatz bei der AJAX-Kommunikation? Eine Unzulänglichkeit beim Anlegen der Datenbank-Inhalte?

Ich bin für jeden Tipp dankbar.
Marco