Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Probleme mit Euro Zeichen

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.11.2006
    Beiträge
    42

    Probleme mit Euro Zeichen

    Hallo,

    mein php-Script bekommt eingegebenen Text von einer Seite mit einerm Textarea-Feld.
    Die Seite hat den charset=iso-8859-1

    Wird die Eingabe abgesandt, dann erfolgt im php-script folgendes:

    $FaxText2 = utf8_decode($FaxText2);

    Danach sind die Umlaute und andere Sonderzeichen, die eingegeben wurden, korrekt in der Variable $FaxText2 enthalten.

    Leider aber das Euro-Zeichen nicht. Es erscheint als Fragezeichen (also als unbekanntes Zeichen)

    Nun gibt es zwei Moeglichkeiten. Entweder ich bekomme das Euro Zeichen auch irgendwie korrekt dargestellt oder ich wandele die Euro-Zeichenfolge einfach in den Text "Euro" um.

    Bei der ersten Moeglichkeit habe ich keine Ahnung, wie ich das machen kann, da im Fax-Programm utf8 nicht unterstuetzt wird.

    Also habe ich versucht, das EuroZeichen durch den Text zu ersetzen:
    Das sind die Zeichen, die bei einem Euro Zeichen im Text erscheinen:

    â^¬

    Ich habe daher folgendes probiert:

    $FaxText2 = preg_replace("[â^¬]",'Euro',$FaxText2);

    Aber leider ohne irgendein Resultat. Was mache ich denn da falsch?

    Wer hat Ideen, wie ich das EuroZeichen oder/und den Text richtig hinbekommen kann?

    Vagabundo

  2. #2
    Registrierter Benutzer
    Registriert seit
    18.04.2008
    Beiträge
    59
    Das ISO-8859-1 (latin1) Charset enthält kein Euro Zeichen.
    Versuche es mit iconv anstelle utf8_decode.

    PHP-Code:
    $FaxText2 iconv("UTF-8""CP1252"$FaxText2

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.11.2006
    Beiträge
    42
    Super funktioniert jetzt zufriedenstellend! Danke!

    Er macht mir zwar kein Euro Zeichen (es geht nicht zu einem Windows-Zeichensatz, sondern zu ISO-8859-1).
    Aber mit //TRANSLIT schreibt er mir dann EUR hin und das ist auch ok.

    Trotzdem verstehe ich nicht, weshalb das

    $FaxText2 = preg_replace("[â^¬]",'Euro',$FaxText2);

    nicht funktioniert hat. Vielleicht kann mir da noch jemand einen Tip geben. Man lernt ja nie aus!

    Vagabundo

  4. #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Dann verwende ISO-8859-15, dort ist das € Zeichen enthalten.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •