Cos’è il mojibake?

Il mojibake è il nome tecnico dei caratteri strani: è al posto di è, ù al posto di ù o € al posto di €. Compare quando un testo viene salvato in una codifica e letto in un’altra – e nella maggior parte dei casi si può correggere completamente. Incolla qui sotto un testo rovinato e provalo.

Funziona con testo e con questi file:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Per esempio esportazioni di Excel, backup di database, sottotitoli o codice di siti web.

Correggi

  1. Trascina un file o incolla il testo
  2. La correzione è automatica
  3. Copia o scarica
oppure trascina semplicemente un file qui
  • Nessun upload. I tuoi file vengono corretti direttamente nel browser e non lasciano mai il tuo dispositivo.

  • Server nell’UE. Mojibuster gira su un server in Finlandia (UE); si applica il Regolamento generale sulla protezione dei dati (GDPR). Testo del GDPR (EUR-Lex)

Da dove viene la parola

Mojibake (文字化け) è giapponese: “moji” significa “carattere” e “bake” “trasformazione”. Negli anni ’90 i computer giapponesi usavano più codifiche in parallelo – Shift_JIS, EUC-JP e ISO-2022-JP – e le e-mail e le pagine web illeggibili erano all’ordine del giorno. La parola è rimasta ed è arrivata in inglese. In italiano si parla più spesso di “caratteri strani” o “lettere accentate sbagliate”.

Come nasce il mojibake

Il computer salva il testo come byte. La codifica stabilisce quali byte corrispondono a quale carattere. In UTF-8 la è viene salvata come i due byte C3 A8. Un programma che legge questi byte come Windows-1252 mostra un carattere per ogni byte: Ã per C3 e ¨ per A8.

In questo passaggio non si perde nulla: i byte ci sono ancora, vengono solo letti nel modo sbagliato. Per questo il mojibake si può quasi sempre annullare: Mojibuster ritrasforma i caratteri sbagliati in byte e li rilegge correttamente.

Testo UTF-8 letto come Windows-1252

Mojibake

Perché, più, città, caffè – 5 €

Corretto

Perché, più, città, caffè – 5 €

Il mojibake in altre lingue

  • Giapponese: 縺薙s縺ォ縺。縺ッ al posto di こんにちは – UTF-8 letto come Shift_JIS. Di più nella pagina in giapponese.
  • Cinese: 浣犲ソ al posto di 你好 – UTF-8 letto come GBK. In cinese si chiama 乱码 (luànmǎ, “codice caotico”).
  • Russo: Привет al posto di Привет – UTF-8 letto come Windows-1251. I russi lo chiamano “krakozyabry”.
  • Italiano, francese, spagnolo…: è, ò o € al posto di è, ò o € – la forma più diffusa al mondo.

Cause tipiche

Si può sempre correggere?

Quasi sempre, finché i byte sono intatti. Non è più possibile quando un programma ha già sostituito i caratteri con ? o con il carattere sostitutivo �: l’informazione originale è persa. Mojibuster corregge tutto ciò che si può correggere, fino a tre livelli di codifica in una volta, e ti dice quanti caratteri sono andati persi.

Come evitarlo

  • Salva i file in UTF-8 – i CSV per Excel come CSV UTF-8 (delimitato da virgole), che aggiunge un BOM.
  • Dichiara la codifica: <meta charset="utf-8"> in HTML, utf8mb4 in MySQL e MariaDB.
  • Converti il testo una sola volta, al confine tra due sistemi.
  • Durante l’importazione scegli tu la codifica invece di lasciarla indovinare al programma.

Domande frequenti

Come si pronuncia mojibake?

Più o meno “mo-gi-ba-ke”, pronunciando tutte e quattro le sillabe.

Il mio file è danneggiato o infetto?

No. Il mojibake è un problema di visualizzazione, non un virus, e di solito non comporta perdita di dati. Il file viene solo letto con la codifica sbagliata.

Che differenza c’è tra mojibake e �?

I caratteri strani come è contengono ancora i byte originali e si possono correggere. Il simbolo � indica che un programma non è riuscito a leggere un byte e l’ha sostituito: quel carattere è perso.

Il mio testo viene caricato su un server?

No. Mojibuster corregge il testo nel tuo browser. Non viene inviato né salvato.

Altre guide