J'ai un tas de fichiers en arabe, anglais, russe qui sont encodés en utf-8. En essayant de traiter ces fichiers en utilisant un script Perl, j'obtiens cette erreur:
Malformed UTF-8 character (fatal)
En vérifiant manuellement le contenu de ces fichiers, j'ai trouvé des caractères étranges. Maintenant, je cherche un moyen de supprimer automatiquement ces caractères des fichiers.
Y a-t-il un moyen de le faire?
Cette commande:
iconv -f utf-8 -t utf-8 -c file.txt
va nettoyer votre fichier UTF-8, en ignorant tous les caractères non valides.
-f is the source format
-t the target format
-c skips any invalid sequence
Votre méthode doit lire octet par octet et comprendre et apprécier pleinement la construction judicieuse des caractères octets. La méthode la plus simple consiste à utiliser un éditeur qui lit tout, mais uniquement les caractères UTF-8 en sortie. Textpad est un choix.