strcoll(): Trotz korrekter Kollation werden falsche Werte zurückgegeben
-
Hi(gh)!
Nachdem ich das Problem mit dem nicht funktionieren wollenden setlocale() durch Lektüre von man locale lösen konnte (mein System kennt "German" als LC_COLLATE-Wert nicht, es muss schon "de_DE.utf8" heißen...) gibt mein Beispielprogramm aus dem "Erlenkötter" (C - Bibliotheksfunktionen sicher anwenden) zumindest keine Fehlermeldung mehr aus.
Allerdings werden die beiden Teststrings "Bar" und "Bär" nach wie vor nicht richtig "sortiert" - laut Buch sollte strcoll("Bar", "Bär") einen Wert größer als 0 zurückgeben, tatsächlich gibt es einen negativen Wert zurück.
Könnte es eventuell noch andere Kollationen für Deutsch geben? Wo finde ich eine Übersicht über die möglichen Werte für LC_COLLATE?
Bis bald im Khyberspace!
Yadgar
-
Yadgar schrieb:
(mein System kennt "German" als LC_COLLATE-Wert nicht, es muss schon "de_DE.utf8" heißen...)
...
Allerdings werden die beiden Teststrings "Bar" und "Bär" nach wie vor nicht richtig "sortiert" - laut Buch sollte strcoll("Bar", "Bär") einen Wert größer als 0 zurückgeben, tatsächlich gibt es einen negativen Wert zurück.Sind denn Deine Strings auch UTF-8?
Falls nicht, vielleicht versuchst Du mal sowas wie
de_DE
oder
de_DE@euro
als locale ???
Ciao
MM
-
Yadgar schrieb:
Wo finde ich eine Übersicht über die möglichen Werte für LC_COLLATE?
Bist du schizophren?
Liest du die Antworten auf deine Fragen?
Kannst du lesen?