Bernd: UTF-8-Eurozeichen durch € ersetzen lassen

Hallo,

ich lese eine externe XML-Datei im UTF-8-Format ein und möchte gerne vor der Weiterverarbeitung der Daten das Eurozeichen in € umwandeln.

So geht es leider nicht:

$beschreibung = str_replace("€","€",$beschreibung);

Wer hat eine Idee?

Danke,
Bernd

  1. Hallo

    ich lese eine externe XML-Datei im UTF-8-Format ein und möchte gerne vor der Weiterverarbeitung der Daten das Eurozeichen in € umwandeln.

    warum? Das Euro-Zeichen ist doch wunderbar. Wo ist das Problem?

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      ich lese eine externe XML-Datei im UTF-8-Format ein und möchte gerne vor der Weiterverarbeitung der Daten das Eurozeichen in € umwandeln.
      warum? Das Euro-Zeichen ist doch wunderbar.

      also ich mag es auch nicht.
      Ich würde es aber auch nicht durch € ersetzen wollen -das wäre ja vom Regen in die Traufe- sondern durch EUR.

      So long,
       Martin

      --
      Die beste Informationsquelle sind Leute, die jemand anderem versprochen haben, nichts weiterzuerzählen.
        (alte Journalistenweisheit)
      1. Hi,

        Ich würde es aber auch nicht durch € ersetzen wollen -das wäre ja vom Regen in die Traufe- sondern durch EUR.

        solange Du es nicht durch ¥ ersetzen willst ...

        Cheatah, SCNR

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi Cheatah,

          [€-Symbol]

          Ich würde es aber auch nicht durch € ersetzen wollen -das wäre ja vom Regen in die Traufe- sondern durch EUR.
          solange Du es nicht durch ¥ ersetzen willst ...

          dann schon eher durch EU$. ;-)

          Ciao,
           Martin

          --
          Wichtig ist, was hinten rauskommt.
            (Helmut Kohl, 16 Jahre deutsche Bundesbirne)
        2. @@Cheatah:

          solange Du es nicht durch ¥ ersetzen willst ...


          Was’n das? Biertulpe mit Kragen?

          Live long and prosper,
          Gunnar

          --
          “New Jersey Hall of Fame? […] But then I ran through the list of names: Albert Einstein, Bruce Springsteen... my mother's going to like that. […] it's the only time she's going to hear those two names mentioned in the same sentence, so I'm going to enjoy it.” (Bruce Springsteen when inducted into the New Jersey Hall of Fame, 2008-05-04)
          1. Hallo Gunnar!

            solange Du es nicht durch ¥ ersetzen willst ...
                                         ▲
            Was’n das? Biertulpe mit Kragen?

            Irgendwie fühle ich mich erinnert... an den großen Charles und sein Lothringer-Kreuz...

            Viele Grüße aus Frankfurt/Main,
            Patrick

            --

            _ - jenseits vom delirium - _
            [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
            Nichts ist unmöglich? Doch!
            Heute schon gegökt?
  2. Hat keiner eine Lösung?

    1. Hat keiner eine Lösung?

      http://at.php.net/utf8-decode
      http://at.php.net/utf8-encode

      ggf kann das dein problem lösen

      1. echo $begrüßung;

        http://at.php.net/utf8-decode
        http://at.php.net/utf8-encode
        ggf kann das dein problem lösen

        Kann es ganz klar nicht. Beide Funktionen wandeln zwischen ISO-8859-1 und UTF-8 hin und her. Das €-Zeichen ist nicht Bestandteil von ISO-8859-1. Selbst wenn man das Euro-Zeichen aus Windows-1252 nimmt, was ja größtenteils mit ISO-8859-1 übereinstimmt, und die meisten Browser auch wenn ISO-8859-1 angegeben ist Windows-1252-Zeichen zulassen, lässt es sich mit den genannten Funktionen nicht umkodieren.

        echo "$verabschiedung $name";

    2. Hallo,

      Hier geht es doch um PHP oder?

      Du solltest die PHP-Datei auch in UTF-8 abspeichern. Ich weiss allerdings nicht, ob die str_replace-Funktion mit dem Zeichen was anfangen kann. Sonst könnte man auch das probieren: $beschreibung = str_replace(chr(0xE2).chr(0x82).chr(0xAC),"€",$beschreibung);
      Das wäre das Euro-Zeichen, wie es durch UTF-8 abgespeichert wird.
      Ob es funktioniert: Keine Ahnung.

      Gruß

    3. @@Bernd:

      Hat keiner eine Lösung?

      Für welches Problem?

      Warum bist du auf Vinzenz’ Nachfrage nicht eingegengen?

      „Es ist fast immer besser, eine Zeichencodierung zu benutzen, die es erlaubt, die Zeichen in ihrer normalen Form zu verwenden, anstatt Zeichen-Entity-Referenzen oder numerische Zeichenreferenzen zu verwenden.“ [QA-ESCAPES]

      Live long and prosper,
      Gunnar

      --
      “New Jersey Hall of Fame? […] But then I ran through the list of names: Albert Einstein, Bruce Springsteen... my mother's going to like that. […] it's the only time she's going to hear those two names mentioned in the same sentence, so I'm going to enjoy it.” (Bruce Springsteen when inducted into the New Jersey Hall of Fame, 2008-05-04)
  3. echo $begrüßung;

    ich lese eine externe XML-Datei im UTF-8-Format ein und möchte gerne vor der Weiterverarbeitung der Daten das Eurozeichen in € umwandeln.
    So geht es leider nicht:
    $beschreibung = str_replace("€","€",$beschreibung);

    Das € in deinem Quellcode wird nicht UTF-8-kodiert vorliegen. Wie üblich helfen Kontrollausgaben (z.B. mit var_dump()) der beteiligten Variableninhalte, notfalls als Hexwerte (binhex()), solchen Ungereimtheiten auf die Spur zu kommen.

    echo "$verabschiedung $name";