Les histoires d’encodage.

Il y a quelques semaines, nous avions commencé à nous occuper des encodages, et bien évidemment, les entrer dans le tableau, avec d’une part une colonne stipulant l’encodage de départ, et l’encodage de sortie. L’encodage de sortie, c’est simple, c’est de l’UTF-8. Il faut donc tout convertir en UTF-8.

Tout d’abord, on commence avec la colonne encodage de départ, pour la colonne, c’est du html, pour l’encodage, c’est la commande file.

Les résultats sous forme de tableau:

finalscript2

Avec le script suivant:

IMAG1164

Donc, le programme va chercher l’encodage avec la commande file. Lorsque la commande file répond de l’UTF-8, c’est simple, cela indique « utf-8 » dans le tableau. Pour ceux qui ne sont pas en utf-8, la commande file peut nous donner autre chose (comme par exemple iso-8859-1), et quelque fois des indications sur l’encodage sans nous donner l’encodage exact (comme par exemple « unknown-8-bits »). Dans ce cas, nous allons directement chercher le charset dans la page source avec la commande egrep.

Mais…

probleme-iconv

on peut remarquer que iconv a des difficultés. Nous n’avons pas encore fait la colonne d’encodage de sortie, mais nous avons ici, que nous aurons quelques soucis.

On modifie légèrement le script :

IMAG1166

Et l’on se rend compte qu’on ne l’a peut-être pas modifié si légèrement que l’on pensait…

IMAG1165

D’ailleurs le terminal nous le signale :

IMAG1167

Là, on sait que iconv ne fonctionne pas comme on le veut quelque part…

On s’accorde un moment de réflexion pour revoir le script et les objectifs.

Publicités

Un commentaire

  1. tal-p3 · décembre 6, 2015

    Il y a en effet un petit pb dans la boucle qui traite les encodages autres que UTF-8 :
    avant de lancer les commandes lynx et iconv, il faut s’assurer que le contenu de la variable encodage est réellement une valeur connue par iconv (il faut par exemple chercher dans « iconv -l » la présence de l’encodage porté par la variable du même nom).

    SF

    Aimé par 1 personne

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s