Ripara i caratteri sbagliati

Quando gli accenti diventano perché, città o ’, il testo non è rotto: è stato letto con la tabella sbagliata. Qui la catena viene percorsa al contrario, e il testo sano resta intatto.

Oppure trascina qui un file di testo

clicca per sceglierlo (.txt, .csv, .srt, .vtt, .md, .json), resta sul tuo dispositivo

🔒 Testo e file restano nel tuo browser: non vengono caricati su nessun server.

Come si usa

Incolla il testo storpiato nel riquadro e premi «Ripara il testo», oppure trascina un file .txt, .csv, .srt, .vtt, .md o .json. Il tool ti dice quale sbaglio di codifica c'era, quanti caratteri ha recuperato e ti mostra qualche esempio di prima e dopo, così controlli che il risultato sia davvero quello che ti aspetti prima di copiarlo o di scaricarlo.

Perché nasce il «perché»

In UTF-8 le lettere accentate non stanno in un byte solo: la é è la coppia di byte C3 A9, la à è C3 A0, l'apostrofo tipografico ’ è E2 80 99 e lo spazio unificatore è C2 A0. Se un programma riceve quei byte ma crede che siano scritti in Windows-1252 (la vecchia tabella «ANSI», dove ogni byte è una lettera) li mostra uno per uno: C3 A9 diventa é, C2 A0 diventa  seguito da uno spazio e E2 80 99 diventa ’. È sempre lo stesso guasto, ed è il motivo per cui in italiano e in spagnolo si vede quasi in ogni frase, mentre in inglese passa quasi inosservato.

Come lo ripara questa pagina

La catena viene percorsa al contrario: ogni carattere torna al byte che era secondo la tabella Windows-1252 (compresi i 5 codici che quella tabella non definisce e che i programmi lasciano passare tali e quali), poi quei byte vengono riletti come UTF-8. La differenza rispetto a una sostituzione a tappeto è che il testo sano non viene toccato: una é da sola non forma una sequenza UTF-8 valida, quindi resta com'è. Se il guasto è avvenuto due volte di fila (la famosa doppia codifica, quella dei é) il giro viene ripetuto finché serve, fino a quattro volte. C'è anche la tabella Mac OS Roman, quella dei testi che arrivano dai vecchi Mac e che si riconoscono dai √© e dai ‚Äô. C'è infine una prudenza che vale la pena di conoscere: una coppia di caratteri come Ù seguita da una virgoletta caporale chiusa, in un titolo tutto maiuscolo, forma per puro caso una sequenza UTF-8 valida. Per questo le sequenze che partono da un carattere ambiguo vengono riparate solo se nel testo ce ne sono almeno tre, e quelle che porterebbero a caratteri che nessun testo vero contiene (alfabeto fonetico, armeno) vengono lasciate stare.

Anche il problema contrario, quando è il file a essere vecchio

Se carichi un file, il tool guarda prima i byte veri. Un file che non è UTF-8 valido viene letto con la tabella Windows-1252 e restituito convertito, e lo stesso vale per i file in UTF-16 che escono da Blocco note e da certi gestionali. In pratica risolve tutte e due le metà del problema: il testo giusto letto male, e il file vecchio da portare in UTF-8. Il pulsante di scaricamento aggiunge, se lo lasci spuntato, il segno BOM che serve a Excel per aprire un CSV senza rovinare di nuovo gli accenti.

Cosa non può fare, dichiarato

I caratteri che vedi come � (o come simboli di controllo invisibili) non si recuperano: quel byte è già stato buttato via da chi ha salvato il file, e nessun programma può indovinarlo. Lo stesso vale per gli accenti diventati un punto interrogativo. Il tool riconosce le due tabelle occidentali più diffuse, Windows-1252 e Mac OS Roman, quindi non ricostruisce il cirillico letto come Windows-1251 né i testi giapponesi in Shift-JIS. Non tocca le entità HTML tipo é o é, che sono un problema diverso, e non cambia il contenuto: sistema solo la codifica. Tutto avviene nel browser, quindi il file non viene caricato da nessuna parte.