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