Conversion

Les encodages des différentes pages web que nous avons utilisées n'étant pas unifiés, une importante partie de notre script a été consacrée à la détection et au réencodage des pages de notre corpus.


Nous disposions dans notre boîte à outil de deux commandes particulièrement utiles pour détecter l'encodage des pages web.


Le premier, file, est un champion de la détection d'UTF-8. UTF-8 ayant une manière particulière d'encoder les caractères, file va essayer de reconnaître le “squelette” d'un caractère codé sur deux, trois ou quatre octets. En ce qui concerne les caractères ASCII codés sur un octet, ceux-ci étant intégrés à UTF-8, file n'est pas en mesure de déterminer si l'encodage de la page est en UTF-8 si des caractères non-ASCII n'apparaissent pas sur la page.


L'autre champion de la détection est egrep couplé à une RegExp. Celui-ci va tâcher d'extraire des méta-données de la page web une information capitale qui est le charset. En effet cette information va permettre au navigateur Internet de déterminer l'encodage de la page affichée et c'est cette même information qui va nous permettre de convertir la page dans le cas ou file aurait failli à sa mission.


Enfin, maintenant que nous disposons de l'encodage initial de la page, iconv peut entrer en scène pour convertir les dump en UTF-8.


Le véritable challenge de ce script était donc la reconnaissance de l'encodage d'une page, problème récurent face auquel même des navigateurs récents sont confrontés.


Prions pour qu'à l'avenir UTF-8 soit souverain et que les futurs étudiants en TAL ne connaissent jamais les affres de l'encodage sauvage!


Example pic


Encodage

La bonne détection de l'encodage d'une page web va déterminer la qualité de son affichage. Le passage à UTF-8 permet de ne plus avoir à se soucier de l'affichage des caractères non-ASCII.


Pour une langue comme l'Anglais, l'ensemble des caractères ASCII est suffisant, mais l'ajout des caractères diacrités du Français et de certains caractères spéciaux de l'Allemand, tel que “ß” ou “ü” impose d'employer un encodage plus polyvalent, c'est ainsi qu'UTF-8 s'est imposé comme étant un choix idéal pour traiter des pages web d'origines multiples, puisque ce seul encodage est à même d'afficher l'ensemble des caractères écrits de quasiment l'ensemble des langages écrits.


A ce titre, je me permets de mettre en lien les cours infiniment plus détaillés de M. Perrot, Professeur émérite à l'INALCO.



Outils :

Liens :