Re: Sortierproblem mit Umlauten - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 29.August.2001, 16:45.
    Re: Sortierproblem mit Umlauten

      Du bist der erste der fragt, echt! ;-)

      Also nochmal der komplette Ansatz: Nicht mit "loop" machen, sondern mit get, also:

      <perl>
      

      get "...deine abfrage-bedingung...", "...deinedatenbank...", "liste";

      @sortierte_liste=sort
      {
        my($x,$y)=($a,$b);
        $x=~ s/ä/a/g; $x=~ s/ö/o/g; $x=~ s/ü/u/g; $x=~ s/Ä/A/g; $x=~ s/Ö/O/g; $x=~ s/Ü/U/g;
        $y=~ s/ä/a/g; $y=~ s/ö/o/g; $y=~ s/ü/u/g; $y=~ s/Ä/A/g; $y=~ s/Ö/O/g; $y=~ s/Ü/U/g;
        $x cmp $y;
      } @{$liste{....Feldname...}};
      

      foreach $wert (@sortierte_liste)
      {
        # das hier entspricht jetzt der loop-schleife...
        out "$wert<br>";
      }
      

      </perl>

      Äh, klarer? ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Micha Jost (347 Beiträge) am Dienstag, 28.August.2001, 15:16.
    Sortierproblem mit Umlauten

      Hallo,

      wie kann ich eine Sortierung durchführen, bei der Begriffe die mit Ö beginnen nach O gelistet werden und nicht nach W (mit dem normalen sort-Befehl).

      Danke für Infos.

      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 29.August.2001, 15:03.
    Re: Sortierproblem mit Umlauten

      Puhhh... Garnich so einfach. Es gibt eine locale-Unterstützung in perl, die ist aber nicht eingebunden, ich muss mal schauen, ob man das vielleicht zur Verfügung stellen kann.

      Ansonsten fällt mir nix ein. Du könntest alles in "ae", "ue" und so wandeln, aber das is nich wirklich schön ,-)

      Ich dachte zuerst an sowas:

      $text=~ s/ä/a#/g;
      $text=~ s/ö/o#/g;
      
      etc.

      Dann sortieren und dann

      $text=~ s/a#/ä/g;
      $text=~ s/o#/ö/g;
      
      etc.

      Aber dann stimmt die Sortierung dahinter nich mehr...

      Ausserdem isses schon ziemlich aufwendig weil Du ja die komplette Liste 2mal durchändern darfst...

      Ums wirklich richtig zu machen, müsste man alle "ä" in "a" wandeln, sich die Positionen merken und dann wieder zurück -> sehr aufwändig.

      Hey, Moment mal, ich habs... ;-)

      @xxx=("bla", "blök", "bläl", "blobber", "blzzz", "bzzzzzz", "zzzzzz", "aaaa", "äää", "ööö", "bbb", "ccc");
      

      $"="<br>";
      out "@xxx -><br>";
      

      @yyy=sort { my ($x,$y)=($a,$b); $x=~ s/ä/a/g; $x=~ s/ö/o/g; $y=~ s/ä/a/g; $y=~ s/ö/o/g; $x cmp $y; } @xxx;

      out "@yyy";
      


      Klar? Du musst das mit den substitutes natürlich für alle Umlaute machen, klein und gross...

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Mittwoch, 29.August.2001, 15:45.
    Re: Sortierproblem mit Umlauten

      Hallo Christoph,

      sorry, aber ich kann nicht recht folgen. Kannst Du das noch mal ein bischen "laienhafter" erklären.
      Im Moment verstehe ich nur ???.
      Also ich habe ein Template mit loop.
      Wie gehe ich da jetzt vor?
      Das Problem müssten eigentlich alle 28.000 baseportal-Nutzer haben - oder haben die das noch gar nicht gemerkt?
      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 29.August.2001, 16:45.
    Re: Sortierproblem mit Umlauten

      Du bist der erste der fragt, echt! ;-)

      Also nochmal der komplette Ansatz: Nicht mit "loop" machen, sondern mit get, also:

      <perl>
      

      get "...deine abfrage-bedingung...", "...deinedatenbank...", "liste";

      @sortierte_liste=sort
      {
        my($x,$y)=($a,$b);
        $x=~ s/ä/a/g; $x=~ s/ö/o/g; $x=~ s/ü/u/g; $x=~ s/Ä/A/g; $x=~ s/Ö/O/g; $x=~ s/Ü/U/g;
        $y=~ s/ä/a/g; $y=~ s/ö/o/g; $y=~ s/ü/u/g; $y=~ s/Ä/A/g; $y=~ s/Ö/O/g; $y=~ s/Ü/U/g;
        $x cmp $y;
      } @{$liste{....Feldname...}};
      

      foreach $wert (@sortierte_liste)
      {
        # das hier entspricht jetzt der loop-schleife...
        out "$wert<br>";
      }
      

      </perl>

      Äh, klarer? ;-)

     Antworten

    Beitrag von Micha Jost (347 Beiträge) am Mittwoch, 29.August.2001, 17:25.
    Re: Sortierproblem mit Umlauten

      Öh?!?

      ich werd mal daran rumkniffeln.

      Aber 27999 Anfragen werden noch folgen...

      Bis dahin mal Danke.
      Gruß
      Micha

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 30.August.2001, 01:34.
    Re: Sortierproblem mit Umlauten

      Ok, ich zähl mit... ;-)

     Antworten

    Beitrag von markus (1013 Beiträge) am Mittwoch, 3.April.2002, 02:02.
    Re: Sortierproblem mit Umlauten

      hmm... ist schon ne weile her, aber ich hab das problem erst jetzt... :-)

      ne frage zu deinem code:

      was bedeutet die varible $wert? fehlt da nicht was?

      gruss

      markus

     Antworten


     
 Liste der Einträge von 57601 bis 57751:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!