Page d'accueil encyclopedie-enligne.com en page d'accueil
Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées

Classement alphabétique informatisé


Le classement alphabétique est le classement des caractères d'une écriture dans un ordre défini par un alphabet (le plus souvent), pour une langue donnée. Cet article décrit la question d'un point de vue informatique. On se reportera à Classement alphabétique pour des explications plus générales et historiques.

Sommaire

Principe

Le principe consiste à comparer deux mots, caractère par caractère.

Si les n premiers caractères sont identiques, on prend le suivant. Si le n-ième caractère diffère, l'ordre est établi. Si le mot est fini, le mot est considéré comme venant en premier.

Il convient donc pour classer correctement de connaître :

ASCII

Pour des raisons d'habitudes et d'ancienneté du principe, de nombreux développeurs utilisent le classement ASCII. Ce classement est généralement mauvais, car incompatible avec de nombreuses langues, en particulier pour les lettres accentuées et les habitudes nationales.

On trouvera ci-dessous des classements plus pertinents.

Pour les programmeurs

Les programmeurs d'application devront donc faire attention aux spécificités locales. Par exemple la fonction str[n]cmp de la librairie string.h de C compare simplement des codes des caractères. Il faut, soit réécrire cette fonction, soit utiliser des fonctions propres des bibliothèques disponibles sous les systèmes d'exploitations cible.

Notons que ICU et Java sont portables. Visual Basic et Perl aussi, travaillant en Unicode.

Bibliothèques de Microsoft

Par exemple en programmation Windows :

Bibliothèque d'UNIX

[À développer]

Bibliothèque ICU

[À développer]

De nombreuse informations sont disponibles dans les sites suivants :

Bibliothèques de GNU/Linux

Sous GNU/Linux, on peut utiliser la bibliothèque ICU.

Bibliothèques de Java

Sous java, le tri est natif. Il est certainement paramètrable avec des locales.

PHP

[À développer]

PHP est utilisé par Wikipédia.

mySQL

mySQL est utilisé par Wikipédia. MySQL 4.0 sait faire du tri allemand avec un jeu de caractères étendu : latin1_de.

La fonction 4.1 semble savoir faire le vrai tri.

Un HOWTO sur le classement alphabétique

Ordre ASCII

Notons que wikipédia considére l'odre ASCII comme un ordre alphabétique.

Wikipédia sur ce point est touché par le bug 164 . Pour les développeurs, on pourrait ajouter le commentaire suivant.

It looks like mySQL 4.1 support nationals collate of utf-8
http://dev.mysql.com/doc/mysql/en/Charset.html
http://bugzilla.wikipedia.org/show_bug.cgi?id=164

Articles connexes

Liens externes

Algorithmes informatiques





This site support the Wikimedia Foundation. This Article originally from Wikipedia. All text is available under the terms of the GNU Free Documentation License Page HistoryOriginal ArticleWikipedia