← retour aux snippets

iconv: ré-encoder un fichier en UTF-8

Détecter et convertir un fichier ISO-8859-1/Windows-1252 en UTF-8 proprement.

objectif

Nettoyer des fichiers avec accents mal encodés en les convertissant en UTF-8.

code minimal

# conversion latin1 -> UTF-8 (sortie sur place via fichier temporaire)
iconv -f ISO-8859-1 -t UTF-8 input.txt > input.txt.utf8 && mv -f input.txt.utf8 input.txt

utilisation

# détecter l'encodage probable
file -bi input.txt

# conversion Windows-1252 -> UTF-8
iconv -f WINDOWS-1252 -t UTF-8 input.txt -o output.txt

variante(s) utile(s)

# ignorer/caractères invalides et les remplacer
iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.txt -o output.txt

notes

  • file -bi donne un indice; vérifiez visuellement.
  • //TRANSLIT tente de remplacer les caractères non mappés.