Prima di convertire un testo, identifica la codifica da chi lo ha prodotto. file può aiutare, ma il suo risultato è una stima e non identifica sempre correttamente le codifiche a un byte:
file --mime-encoding "origine.txt"Se sai che il file è UTF-16LE, converti in un nuovo file:
iconv -f UTF-16LE -t UTF-8 "origine.txt" > "convertito.txt"Non usare lo stesso nome a sinistra e a destra della redirezione: la shell troncherebbe il file prima della lettura. Verifica il codice di uscita e controlla accenti, simboli e righe nel risultato prima di sostituire l’originale. Un errore può lasciare un output parziale. Le opzioni che ignorano caratteri non convertibili possono perdere dati; non aggiungerle per nascondere un errore.
Verifica prima di sostituire l’originale
iconv -f UTF-8 -t UTF-8 "convertito.txt" > /dev/null
file --mime-encoding "convertito.txt"Il primo comando deve terminare con codice 0. Un testo composto soltanto da caratteri ASCII può essere riconosciuto come us-ascii ed essere comunque UTF-8 valido. Apri il file e verifica una parola accentata nota: una conversione può essere formalmente valida ma usare una codifica di origine sbagliata.