Mixmastertobsi: Ajax POST Problem

Hallo,
ich versuche schon die ganze Zeit vergeblich die Umlaute zu decodieren.
Beim Googlen habe ich leider auch nichts gutes gefunden.
Verwende folgenden Zeichensatz
http_request.overrideMimeType('text/xml; charset=ISO-8859-1');

€ wird zum Beispiel zu €

  1. Verwende folgenden Zeichensatz
    http_request.overrideMimeType('text/xml; charset=ISO-8859-1');

    Das dürfte vermutlich der sein, mit dem du die Daten an den Server sendest. Wie der Server antwortet, ist seine Sache.

    € wird zum Beispiel zu €

    Die Antwort ist utf-8-kodiert, du versuchst, die Daten mittels iso-8859-1, -15 oder windows-1252 anzuzeigen. Von einer browserseitigen Dekodierung / Konvertierung rate ich ab, verwende stattdessen lieber in deinen Webseiten ebenfalls utf-8. Alternativ kannst du natürlich auch den Server auf iso-8859-15 oder windows-1252 beschränken, das wäre aber ein Rückschritt, weil du damit nicht all die schönen Zeichen darstellen kannst, die Unicode bereit hält.

    1. Hi Tobsi,

      folgender Link sollte dir eventuell helfen:
      JavaScript<->PHP

      Dennoch rate ich dir alles in UTF-8 zu machen, wie schon Bill sagt, wäre es ein Rückschritt auf iso zu setzen.

      Viele Grüße,
      Jurik

      1. Hallo, mit dem Umlauten habe ich es folgendermaßen gelöst.
        $notiz=ereg_replace(chr(0xc3).chr(0xa4),'ä',$notiz);
        $notiz=ereg_replace(chr(0xc3).chr(0x84),'Ä',$notiz);
        $notiz=ereg_replace(chr(0xc3).chr(0xb6),'ö',$notiz);
        $notiz=ereg_replace(chr(0xc3).chr(0x96),'Ö',$notiz);
        $notiz=ereg_replace(chr(0xc3).chr(0xbc),'ü',$notiz);
        $notiz=ereg_replace(chr(0xc3).chr(0x9c),'Ü',$notiz);
        $notiz=ereg_replace(chr(0xc3).chr(0x9f),'ß',$notiz);

        Da gehts jetzt ohne probleme.

        Leider fehlt mir für andere Sonderzeichen noch der COde.

        Was hat z.B. das € Zeichen? chr(0xc3).chr(0x??)

        1. Uhm - eigentlich solltest einfach die Funktionen benutzen und das Script macht  es schon von alleine ...

          Und immer drauf achten, die Scripte in feinem astreinem UTF-8 zu speichern ;)

  2. Hallo,

    ich versuche schon die ganze Zeit vergeblich die Umlaute zu decodieren.
    Verwende folgenden Zeichensatz
    http_request.overrideMimeType('text/xml; charset=ISO-8859-1');

    siehe diesen Beitrag von dedlfix.

    € wird zum Beispiel zu €

    Das ist besonders lustig, weil das Euro-Zeichen in der von Dir erwähnten Zeichenkodierung überhaupt nicht vorkommt.

    Freundliche Grüße

    Vinzenz

  3. Moin!

    ich versuche schon die ganze Zeit vergeblich die Umlaute zu decodieren.
    Beim Googlen habe ich leider auch nichts gutes gefunden.
    Verwende folgenden Zeichensatz
    http_request.overrideMimeType('text/xml; charset=ISO-8859-1');

    Ajax arbeitet, egal was du angibst, immer mit UTF-8.

    € wird zum Beispiel zu €

    Das ist das Bild, was man erhält, wenn man die UTF-8-Bytes des Eurozeichens mit ISO-8859-1 darstellt.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."