Re: Chiffres romains, locale et tri
* Jacques L'helgoualc'h <lhh+no_spam@free.fr> [2005-06-19 16:41] :
> Frédéric Bothamy a écrit, dimanche 19 juin 2005, à 15:34 :
> > * Jacques L'helgoualc'h <lhh+no_spam@free.fr> [2005-06-19 15:10] :
> > > François TOURDE a écrit, dimanche 19 juin 2005, à 13:42 :
> > > > Jacques L'helgoualc'h écrivait:
> > > [...]
> > > > > $ LC_ALL=fr_FR sort fichier
> > > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_I-Allegro
> > > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_III-Scherzo
> > > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_II-Poco
> > > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_IV-Finale
> [...]
> > En fait, avec une locale fr_FR, sort utilise les chaînes suivantes pour
> > faire les comparaisons :
> >
> > ...IAllegro...
> > ...IIPoco...
> > ...IIIScherzo...
> > ...IVFinale...
> >
> > (on peut s'en rendre compte en remplaçant le '-' par un 'A' par exemple).
>
> Oui, c'est bien ce qui se passe normalement ... /avec/ l'option -d !
> Pour -f ou -i l'ordre est correct ;
>
> > "LC_ALL=C sort ..." ou "LC_COLLATE=C sort ..." fait ce qu'il semble
> > normal en incluant le caractere - dans sa comparaison.
>
> ... mais ça ne le fait pas avec LC_ALL=fr tout court, /sans/ option pour
> sort.
>
> Par ailleurs, en passant de fr_Fr à fr_BE ou fr_CH, c'est de nouveau à
> l'endroit, et en pipant via « sed s/_/-/g » ou son contraire, l'ordre
> change dans tous les cas ...
>
> Il y a donc un bug, ou une bizarrerie sur l'ordre alphabétique avec
> tiret en France ?
Je pencherais pour la bizarrerie dans toutes les locales non-POSIX.
Quelques pointeurs pour les recherches :
- le fichier /usr/share/i18n/locales/iso14651_t1 (qui définit le
LC_COLLATE de fr_FR)
- ce message
http://lists.alphanet.ch/pipermail/gull/2003-October/001323.html
- le bogue Debian 203820 (http://bugs.debian.org/203820) sur les tris
dans les locales POSIX et non-POSIX
Pour l'analyse, je ne comprends pas encore bien comment fonctionne
LC_COLLATE, donc au lieu de dire des bêtises, je laisse les autres en
dire à ma place... :-)
Fred
--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html
Reply to: