Quando ti serve
- Un export CSV da un vecchio programma di contabilità, da un gestionale o dall’home banking è salvato in ANSI, ma il nuovo sistema o l’importazione nel negozio online vuole UTF-8.
- Un file di testo creato con un vecchio programma Windows mostra
�al posto dièsu Mac, su Linux o in Git. - Un sito web, un database o uno script legge il file come UTF-8 e si blocca alla prima lettera accentata.
- I vecchi sottotitoli mostrano quadratini al posto degli accenti sulla TV: per questo c’è una guida a parte, correggere i sottotitoli.
Come convertire il file
- Trascina il file nel riquadro qui sopra o clicca per sceglierlo.
- Mojibuster lo legge e ti dice come: “Letto come Windows-1252 (ANSI), salvato come UTF-8.”
- Controlla l’anteprima. Se qualcosa non torna, Mojibuster ti propone un’altra lettura con un clic.
- Clicca su Scarica. Se il file andrà aperto in Excel, lascia attiva l’opzione Salva con BOM.
Che cosa significa davvero “ANSI”
“ANSI” è il nome che Windows usa per la vecchia tabella di caratteri del sistema. Su Windows in italiano e nelle altre lingue dell’Europa occidentale è Windows-1252. Non ha niente a che fare con l’American National Standards Institute: il nome è un errore storico. ISO-8859-1 (Latin-1) è quasi uguale: solo tra i byte 80 e 9F Windows-1252 aggiunge caratteri come €, “, ’ e –.
La differenza nei byte
è– ANSIE8(un byte), UTF-8C3 A8(due byte).é– ANSIE9, UTF-8C3 A9.€– Windows-125280, assente in ISO-8859-1, UTF-8E2 82 AC.’– Windows-125292, UTF-8E2 80 99.- Lettere semplici, cifre e segni come
,sono uguali in tutte e tre le codifiche. Per questo il problema si vede solo negli accenti, nei simboli di valuta e negli apostrofi tipografici.
Come riconoscere un file ANSI
Se apri un file ANSI come UTF-8, il byte di una lettera accentata lì non è valido. I programmi mostrano �, Notepad++ mostra piccoli riquadri come xE9. Il byte giusto però è ancora nel file, quindi con la conversione non perdi niente. Se un ? è già salvato in modo definitivo te lo spiega la guida punti interrogativi al posto degli accenti.
Il caso opposto: UTF-8 letto come ANSI
Se vedi è al posto di è, il file è già in UTF-8 e viene solo letto come ANSI, di solito da Excel. Allora non c’è niente da convertire: apri il file nel modo giusto oppure ripara i caratteri rotti già salvati. Vedi accenti in Excel e correggere i caratteri UTF-8. Mojibuster riconosce anche questo caso.
Come appare
Perché è così? Più caffè in città , già 12 € – fatto
Corretto
Perché è così? Più caffè in città, già 12 € – fatto
Altri metodi
- Excel: apri il file, poi File → Salva con nome → tipo di file CSV UTF-8 (delimitato da virgole). Prima controlla che gli accenti siano giusti dopo l’apertura.
- Notepad++: nel menu Codifica scegli prima Codifica in ANSI, poi Converti in UTF-8. Tutti i passaggi in Notepad++ e la codifica.
- PowerShell e Python: indica la vecchia codifica quando leggi il file, altrimenti crei nuovi caratteri rotti. Vedi PowerShell e pandas.
Domande frequenti
Si perdono caratteri nella conversione?
No. Ogni carattere di Windows-1252 e ISO-8859-1 esiste anche in UTF-8. Solo i caratteri già salvati come ? restano ?.
ANSI è la stessa cosa di ISO-8859-1 o Latin-1?
Quasi. Windows-1252 ha in più €, le virgolette tipografiche e i trattini. Mojibuster legge bene entrambi, perché Windows-1252 contiene tutti i caratteri di ISO-8859-1.
UTF-8 con o senza BOM?
Con BOM per Excel, altrimenti Excel mostra di nuovo é. Senza BOM per siti web, database e codice sorgente.
Il mio file viene caricato su un server?
No. La conversione avviene tutta nel tuo browser, anche per grandi export CSV. Il file non lascia mai il tuo dispositivo.