Gérer l’UTF-8 dans un script Perl

 Publié le 27 novembre 2014, à 22:46, par Allaedine El Banna   Aucun commentaire
Rangé dans Mémos sur logiciels libres


En 2014, il peut arriver que l’on ait toujours à batailler avec des problèmes d’encodage… La bonne pratique étant désormais de tout passer en UTF-8, quelques lignes simples de Perl permettent de s’assurer que le code gérera correctement ses chaînes de caractères.

Déclarer ses chaînes de caractères en UTF-8

Pour les chaînes constantes, rien de plus simple : on utilisera le pragma « utf8 ».

 #!/usr/bin/perl

use utf8;

Garantir l’UTF-8 en entrée ou en sortie du script

Si le script interagit avec l’utilisateur ou est destiné à lui présenter de la donnée, il faut spécifier l’encodage du canal avant les instructions « print ».

#!/usr/bin/perl
binmode STDIN,  ':encoding(UTF-8)';
binmode STDOUT, ':encoding(UTF-8)';
binmode STDERR, ':encoding(UTF-8)';

En règle générale, on veillera à toujours spécifier les encodages avant toute interaction avec l’utilisateur.



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs avec une astérisque (*) doivent être obligatoirement remplis.