mixmastertobsi: AJAX Apache

Hallo,

ich habe das Problem, dass manchmal die Umlaute nicht korrekt per AJAX übergeben werden.

Was ganz kurios ist, ist dass manchmal die Sonderzeichen richtig dargestellt werden und manchmal nicht.

Habe in einem anderen Forum das ähnlich Problem gefunden, bei dem es auch manchmal auftritt und manchmal nicht.

Um das Problem zu lösen, empfehlen die folgende Funktion zu benutzen
function 2BYTE2UNICODE($myString) {
$myString=ereg_replace(chr(0xc3).chr(0xa4),'ä',$myString);
$myString=ereg_replace(chr(0xc3).chr(0x84),'Ä',$myString);
$myString=ereg_replace(chr(0xc3).chr(0xb6),'ö',$myString);
$myString=ereg_replace(chr(0xc3).chr(0x96),'Ö',$myString);
$myString=ereg_replace(chr(0xc3).chr(0xbc),'ü',$myString);
$myString=ereg_replace(chr(0xc3).chr(0x9c),'Ü',$myString);
$myString=ereg_replace(chr(0xc3).chr(0x9f),'ß',$myString);
return $myString;
}

Jedoch gib es ja noch mehr Sonderzeichen.
Mein € wird z.b. zum €

Was wäre denn zum Beispiel für das € Zeichen der Replace?

  1. Hallo,

    ich habe das Problem, dass manchmal die Umlaute nicht korrekt per AJAX übergeben werden.

    Kein Problem

    (Weiter unten)

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  2. echo $begrüßung;

    ich habe das Problem, dass manchmal die Umlaute nicht korrekt per AJAX übergeben werden.
    Um das Problem zu lösen, empfehlen die folgende Funktion zu benutzen

    Ah, da baut sich also einer utf8_decode() in einer abgespeckten Version und noch dazu mit den nicht mehr empfohlenen ereg-RegExp nach. Das ist keine Problemlösung sondern nur ein Workaround für einige wenige Zeichen.

    Jedoch gib es ja noch mehr Sonderzeichen.

    Ja, die gesamte Unicode-Palette, wenn man es genau nimmt.

    Was wäre denn zum Beispiel für das € Zeichen der Replace?

    Lös das Problem doch lieber, indem du auf UTF-8 umsteigst. Was anderes ist mit Ajax nicht richtig hinzubekommen. Selbst wenn du utf8_decode() verwendest, ist das nur ein Bruckteil der Miete. Du bekommst früher oder später bestimmt auch Zeichen, die mit ISO-8859-1 nicht darstellbar sind und die dir dann verloren gehen.

    echo "$verabschiedung $name";

    1. Moin!

      Was wäre denn zum Beispiel für das € Zeichen der Replace?

      Du bekommst früher oder später bestimmt auch Zeichen, die mit ISO-8859-1 nicht darstellbar sind und die dir dann verloren gehen.

      Beispielsweise das Eurozeichen...

      - Sven Rautenberg