Tobias Otto: Sonderzeichen entcodieren

Hallo ich erstelle eine csv datei per php. mein problem ist das der text meist mit sonderzeichen vershen ist und es dann probleme mit der csv trennung gibt - ;

habe dies dann über das ereg replace gelöst.

$produkt=ereg_replace("Ö","Ö",$produkt);

ist aber sehr umständlich. gibt es eventuell eine andere möglichkeiten um alle sonderzeichen auf einmal umzuwandeln.

Danke

  1. Hello out there!

    mein problem ist das der text meist mit sonderzeichen vershen ist

    Dein Problem ist, dass der Text NICHT mit Sonderzeichen versehen ist, also nicht mit 'Ö', sondern mit '&', 'O', 'u', 'm', 'l', ';'. Warum ist das so? Warum stehen nicht die richtigen Zeichen ('Ö') im Text?

    und es dann probleme mit der csv trennung gibt - ;

    Heißt CSV cemicolon separated value? ;-)

    gibt es eventuell eine andere möglichkeiten um alle sonderzeichen auf einmal umzuwandeln.

    html_entity_decode()

    See ya up the road,
    Gunnar

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    1. Ciao!

      Heißt CSV cemicolon separated value? ;-)

      Character Separated Values. ;-)
      Das traditionelle Komma ist oft keine gute Wahl, weil das zu häufig in den Daten vorkommt.

      Viele Grüße vom Længlich

      1. Hallo,

        Heißt CSV cemicolon separated value? ;-)
        Character Separated Values. ;-)

        ja, so wird es oft genannt - ursprünglich aber "Comma Separated Values".

        Das traditionelle Komma ist oft keine gute Wahl, weil das zu häufig in den Daten vorkommt.

        Na und? Deswegen wird ja empfohlen, die Datenfelder grundsätzlich in Anführungszeichen zu setzen. Dann können da Kommas drin sein, soviel sie wollen.

        Schönen Tag noch,
         Martin

        --
        Die letzten Worte des Polizisten:
        Ich hab mitgezählt: Sechs Schuss, jetzt hat er keine Munition mehr!
        1. Merhaba!

          Heißt CSV cemicolon separated value? ;-)
          Character Separated Values. ;-)

          ja, so wird es oft genannt - ursprünglich aber "Comma Separated Values".

          Ja, ich weiß. Ich fand es jetzt nur ganz witzig, daß es dafür eine angepaßte Version gibt - die ich vorher auch noch nie gesehen hatte.

          Na und? Deswegen wird ja empfohlen, die Datenfelder grundsätzlich in Anführungszeichen zu setzen. Dann können da Kommas drin sein, soviel sie wollen.

          Irgendeinen Escape-Mechanismus braucht man auf jeden Fall, das ist klar (es sei denn, man kann 100%ig sicher sein, daß ein bestimmtes Zeichen in den Daten niemals vorkommt, was nur sehr selten der Fall ist). Ich halte es trotzdem für sinnvoll, ein möglichst exotisches Trennzeichen zu verwenden, und wenn es nur für die bessere Lesbarkeit ist.

          Viele Grüße vom Længlich

  2. echo $begrüßung;

    Hallo ich erstelle eine csv datei per php. mein problem ist das der text meist mit sonderzeichen vershen ist und es dann probleme mit der csv trennung gibt - ;

    Abgesehen von der Verwendung der Entities statt der richtigen Zeichen, hast du eine fehlerhafte CSV-Generierung. Damit man die Trennzeichen der Felder auch in den Daten verwenden kann, gibt es ein paar Regeln für CSV-Daten.

    • Wenn das Trennzeichen in den Daten vorkommt, sind die Daten in Anführungszeichen zu schreiben.
    • Wenn ein Anführungszeichen in den Daten vorkommt ist es doppelt zu notieren.

    Siehe http://de.wikipedia.org/wiki/CSV_(Dateiformat) und http://en.wikipedia.org/wiki/Comma-separated_values

    echo "$verabschiedung $name";