Jürgen: Gruppieren nach Alphabet - Umlautproblem

Hallo, ich möchte mit PHP Textzeilen nach einem bestimmten Kriterium in verschiedene Dateien ausgeben. Und zwar sollen alle Zeilen, die mit A beginnen, in die Datei Text_A.txt, die mit B beginnen in Text_B.txt und so weiter ausgegeben werden. Die funktioniert einwandfrei, so lange keine Texte mit Ä, Ö odr Ü beginnen. Für die Sortierung lese ich die erste Stelle desTextes mit substr($Textinput, 0,1). Jetzt habe ich festgestellt, dass ich die Umlaute erhalte mit substr($Textinput, 0,2). Wie kann ich in einem Statement normale Buchstaben und Umlaute erhalten? Danke Jürgen

  1. Tach!

    Für die Sortierung lese ich die erste Stelle desTextes mit substr($Textinput, 0,1). Jetzt habe ich festgestellt, dass ich die Umlaute erhalte mit substr($Textinput, 0,2).

    Na das liest sich doch wie UTF-8-Kodierung. Das können die einfachen Stringfunktionen nicht verarbeiten.

    Wie kann ich in einem Statement normale Buchstaben und Umlaute erhalten?

    Die Multi-Byte-Funktionen mit mb_ vorn dran, können das richtig extrahieren.

    dedlfix.

    1. @@dedlfix

      Die Begriffe verwirren.

      Das können die einfachen Stringfunktionen nicht verarbeiten.

      Das sind keine Stringfunktionen, sondern Bytefunktionen.

      Die Multi-Byte-Funktionen mit mb_ vorn dran, können das richtig extrahieren.

      Das sind Stringfunktionen.

      LLAP

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Hi,

        Die Begriffe verwirren.

        aber nur weil sie generisch sind.

        Das können die einfachen Stringfunktionen nicht verarbeiten.

        Das sind keine Stringfunktionen, sondern Bytefunktionen.

        Es sind Stringfunktionen. Sie arbeiten auf einem "string of bytes".

        So long,
         Martin

        1. @@Der Martin

          Das sind keine Stringfunktionen, sondern Bytefunktionen.

          Es sind Stringfunktionen. Sie arbeiten auf einem "string of bytes".

          Das würde ich sequence of bytes nennen.

          LLAP

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    2. Hi, danke, jetzt werden die Umlaute erkannt. Aber nun habe ich ein weiteres Problem. Die jeweiligen Anfangsbuchstaben in den Zeilen stehen in $Suffix. Daraus generiere ich den Namen der jeweiligen Ausgabedatei durch "Text_" . $Suffix . ".tt" Bei dem Umlaut Ö wird nun der Dateiname Text_Õ_.txt und bei Ü der Name Text_Õœ.txt generiert. Was muss ich jetzt noch tun? Vielen Dank für Eure Unterstützung (Trotz Song-Contest)! Jürgen

      1. Tach!

        Bei dem Umlaut Ö wird nun der Dateiname Text_Õ_.txt und bei Ü der Name Text_Õœ.txt generiert. Was muss ich jetzt noch tun?

        Herausfinden, welche Kodierung das Dateisystem mag und dann umkodieren. Es bleibt da ja praktisch nur ISO-8859-1/Latin1/Windows-1252 übrig.

        dedlfix.

        1. Tach!

          Herausfinden, welche Kodierung das Dateisystem mag und dann umkodieren. Es bleibt da ja praktisch nur ISO-8859-1/Latin1/Windows-1252 übrig.

          Könnte das Dateisystem nicht unterschiedlich sein auf meinem lokalen System und denen meiner Hoster? Dann müsste ich ja verschiedene Versionen erstellen? Jürgen

          1. Tach!

            Könnte das Dateisystem nicht unterschiedlich sein auf meinem lokalen System und denen meiner Hoster?

            Ja, und es gibt keine (einfache) Möglichkeit, das herauszufinden oder andererseits festzulegen, welche Kodierung du den Dateisystemfunktionen übergibst, auf dass es sich das selbst passend umkodiert.

            dedlfix.