Olaf: Probleme bei AJAX und Hebräisch (u.a.)

Hallo zusammen,

auf einer Webseite eingabe.html habe ich ein Formular, in dem Mitarbeiter Textschnipsel eingeben können.

Diese Textschnipsel werden dann per AJAX Aufruf an ein PHP script save.php übergeben. Dieses Script hängt jeden eingebenen Textschnipsel ans Ende einer Datei "gesamt.html".

Das funktioniert, solange keine Sonderzeichen eingegeben werden. Irgendwie verwurstet AJAX ja alles nach UTF-8 und nach dem Abspeichern sind alle Sonderzeichen nur noch Hyroglyphen. U.a. werden auch Hebräische Zeichen eingegeben. eingabe.html ist im ISO=-8859 Zeichensatz.

Hat jemand einen Tipp, wie ich vorgehen muss? Ich bin ja sicher nicht der Einzige, der AJAX nutzt und Probleme mit Umlauten hat. Habe schon gegoogelt und alle möglichen Foren durchforstet, aber nicht wirklich was Brauchbares gefunden.

"Einfach alles auf UTF-8 umstellen" geht aus diversen anderen Gründen nicht. Jedes denkbare Sonderzeichen abzufragen und in HTML Entities umzuwandeln auch nicht grade toll. Mit encodeURI vor dem Absetzen des AJAX Calls
und decodieren im PHP klappt es aber auch nicht.

Bin mit meinem Latein ziemlich am Ende.

Vielen Dank und Grüsse

Olaf

  1. Hat jemand einen Tipp, wie ich vorgehen muss?

    evtl würds mit escape() un unescape() gehen bin mir aber nit sicher :O

    http://de.selfhtml.org/javascript/objekte/unabhaengig.htm

  2. Hallo,

    U.a. werden auch Hebräische Zeichen eingegeben. eingabe.html ist im ISO=-8859 Zeichensatz.

    Es gibt eben verschiedene ISO-8859-Zeichensätze. Das Problem ist, dass jeder nur 256 Codes hat, von denen auch nur nur ein Teil druckbare Zeichen sind. Mit 256 Codes kann man aber nicht alles darstellen, vor allem nicht im selben Dokument einen Mischmasch von z.B. deutsch, mitteleuropäisch, japanisch, chinesisch, arabisch und hebräisch (die arabischen und hebräischen Zeichen würden ohnehin sofort Krieg anfangen ;-).

    Deshalb hat man ja Unicode bzw. UTF-8 erfunden. Vorher hat man sich mit HTML-Entitäten einigermaßen beholfen.

    "Einfach alles auf UTF-8 umstellen" geht aus diversen anderen Gründen nicht. Jedes denkbare Sonderzeichen abzufragen und in HTML Entities umzuwandeln auch nicht grade toll.

    Das sind aber die beiden einzigen Möglichkeiten, die du hast. Sonst musst du dein Vorhaben vergessen.

    Gruß, Don P

  3. @@Olaf:

    "Einfach alles auf UTF-8 umstellen" geht aus diversen anderen Gründen nicht.

    Die da wären?

    Ich kann mir keinen einzugen Grund veorstellen, nicht auf UTF-8 umzusteigen. Und du willst gleich diverse davon haben? Welche sollen das sein?

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)