Der Martin: Konfuse Sortierung von Sonderzeichen

Hallo,

mich plagt schon lange die für mich nicht nachvollziehbare Reihenfolge, in der viele Windows-Anwendungen Einträge sortieren, so etwa der Explorer seine angezeigten Dateien, oder Word und Excel Einträge in Tabellen. Beispielsweise ergibt sich folgende Sortierung von Einträgen:

"a u"
  "a!u"
  "a_u"
  "a+u"
  "au"
  "a-u"

Was steckt da für ein System dahinter? Der Unterstrich hat beispielsweise den Code \x5F, warum wird er vor dem Pluszeichen sortiert, das \x2B hat? Warum wird das kleine u mit \x75 wieder vor dem Minuszeichen \x2D sortiert? Das ist doch reine Willkür. Oder doch nicht?

Woher kommt diese absonderliche Reihenfolge? Und gibt es eine Möglichkeit, Windows zu einer nachvollziehbaren, auf dem jeweiligen Zeichencode basierenden Sortierung zu überreden?

So long,
 Martin

--
Time's an illusion. Lunchtime doubly so.
  Douglas Adams, "The Hitchhiker's Guide To The Galaxy"
  1. Hallo Martin!

    mich plagt schon lange die für mich nicht nachvollziehbare Reihenfolge, in der viele Windows-Anwendungen Einträge sortieren,
    Was steckt da für ein System dahinter? Der Unterstrich hat beispielsweise den Code \x5F, warum wird er vor dem Pluszeichen sortiert, das \x2B hat? Warum wird das kleine u mit \x75 wieder vor dem Minuszeichen \x2D sortiert? Das ist doch reine Willkür. Oder doch nicht?

    Die Sortierung hängt von den Sprach- und Ländereinstellungen ab. Für die verschiedenen deutschen Sprachversionen wird nach den Regeln des Bibliographischen Instituts Mannheim/Wien/Zürich (Duden usw.) sortiert. So werden auch die Kataloge der Bibliotheken und die Inhaltsverzeichnisse der Bücher sortiert. Ist halt für Leute gedacht, deren Neuronen nicht UTF-8 codiert sind. ;-)

    Beste Grüsse
    Richard

    1. Hallo Richard,

      Die Sortierung hängt von den Sprach- und Ländereinstellungen ab.

      das klingt plausibel, es leuchtet mir aber nicht ein, warum man so etwas machen sollte.

      Ist halt für Leute gedacht, deren Neuronen nicht UTF-8 codiert sind. ;-)

      Naja, aber das beantwortet meine Kernfrage leider nicht: Wie kann ich diesen Makel abstellen?

      Schönen Tag noch,
       Martin

      --
      Niemand lebt allein von seinen Träumen.
      Aber wer träumt, lebt noch.
      1. Hallo Martin!

        Die Sortierung hängt von den Sprach- und Ländereinstellungen ab.
        das klingt plausibel, es leuchtet mir aber nicht ein, warum man so etwas machen sollte.

        Nach irgendwelchen Kriterien muss schliesslich sortiert werden, da ist es doch sinnvoll, sich geläufiger Regeln zu bedienen, finde ich. Das Sortieren nach dem UTF-8-Zeichenwert würde jedenfalls ein ziemlich chaotisches Ergebnis liefern, ae und ä oder ß und ss wären dann weit von einander entfernt.

        Zu deinem anderen Posting: Englisch folgt wohl weitgehend identischen Sortierregeln wie das Deutsche, ist ja z.B. für Bibliothek-Kataloge auch ganz praktisch. Vergleiche mal mit einer japanischen oder arabischen Version. ;-)

        Ist halt für Leute gedacht, deren Neuronen nicht UTF-8 codiert sind. ;-)
        Naja, aber das beantwortet meine Kernfrage leider nicht: Wie kann ich diesen Makel abstellen?

        Also die meisten Anwender empfinden dies sicher nicht als Makel. Ihnen ist diese Sortierung etwa von Inhaltsverzeichnissen bei Büchern geläufig.

        Wie du das im Betriebssystem ändern kannst, kann ich dir leider nicht sagen. Dafür solltest du wohl Microsoft zertifizierter Partner sein, um an den entsprechenden Quellcode zu kommen. Für die verschiedenen Anwendungen, kannst du dir eigene Sortierregeln erstellen, was aber ziemlich aufwändig ist.

        Beste Grüsse
        Richard

        1. Hallo,

          Nach irgendwelchen Kriterien muss schliesslich sortiert werden, da ist es doch sinnvoll, sich geläufiger Regeln zu bedienen, finde ich.

          im Prinzip ja, aber ...

          Das Sortieren nach dem UTF-8-Zeichenwert würde jedenfalls ein ziemlich chaotisches Ergebnis liefern, ae und ä oder ß und ss wären dann weit von einander entfernt.

          Da reden wir wohl aneinander vorbei. Dass für die Zeichen der geschriebenen Sprache (also die Buchstaben) eine spezielle Sortiervorschrift gilt, z.B. diakritische Zeichen als identisch zu ihren Pendants ohne Sondermarkierung gelten (also etwa 'ö'=='o', 'â'=='a' und 'é'=='e' sortiert wird), ist klar. Dass zusätzliche Buchstaben anderer Sprachen, etwa das isländische Thorn, sprachlich sinnvoll in diese Folge einsortiert werden, ist auch klar.

          Mir ging es ja ganz speziell um die Sonderzeichen, also Interpunktion, mathematische und technische Symbole, die nichts mit der Sprache an sich zu tun haben. Wenigstens diese Symbole unter sich sollten meiner Ansicht nach einfach nach ihrem ASCII- oder UCS-Code sortiert werden.

          Zu deinem anderen Posting: Englisch folgt wohl weitgehend identischen Sortierregeln wie das Deutsche, ist ja z.B. für Bibliothek-Kataloge auch ganz praktisch. Vergleiche mal mit einer japanischen oder arabischen Version. ;-)

          Habe ich leider nicht zur Hand. ;-)
          Okay, aber wie gesagt: Die sprachspezifischen Aspekte hatte ich in Gedanken schon von vornherein ausgeklammert.

          Also die meisten Anwender empfinden dies sicher nicht als Makel. Ihnen ist diese Sortierung etwa von Inhaltsverzeichnissen bei Büchern geläufig.

          Was denn? Dass ein Underscore vor Plus- und Minuszeichen einsortiert wird? Dass einige Sonderzeichen vor den Buchstaben sortiert werden, das Minuszeichen aber zur Abwechslung dahinter? Das hat damit, glaube ich, nichts zu tun. Diese Zeichen tauchen eher selten in Inhaltsverzeichnissen oder Bibliothekskatalogen auf.

          Wie du das im Betriebssystem ändern kannst, kann ich dir leider nicht sagen. Dafür solltest du wohl Microsoft zertifizierter Partner sein, um an den entsprechenden Quellcode zu kommen.

          Ich glaube nicht, dass ich dafür den Quellcode bräuchte. Ein Debugger, ein wenig Spürsinn und solide Kenntnisse des Systems an sich sollten genügen. Und dann natürlich Geduld und Durchhaltevermögen. Einen Versuch wär's wert.

          So long,
           Martin

          --
          Wer im Steinhaus sitzt, soll nicht mit Gläsern werfen.
    2. Hallo nochmal,

      Die Sortierung hängt von den Sprach- und Ländereinstellungen ab.

      jetzt zweifle ich doch wieder an dieser Aussage, denn mein englisches und sogar auf "English (United States)" eingestelltes Windows sortiert genauso bescheuert wie ein auf "Deutsch (Deutschland)" eingestelltes.

      So long,
       Martin

      --
      Paradox ist, wenn der Innenminister sich äußert und der Außenminister sich erinnert.