Errore di codificazione

Da Konspedia.
Vai alla navigazioneVai alla ricerca
Screenshot di un testo non codificato correttamente, proveniente da un file di testo scritto con i caratteri giapponesi.

Per errore di codificazione si intende un fenomeno informatico che si verifica quando un programma riproduce un testo digitale che utilizza un sistema di codifica non supportato. I caratteri permessi dalle codifiche non supportate, come nel caso di caratteri testuali non latini utilizzati per codificare lingue come l'arabo, il russo, il cinese od il giapponese, vengono riprodotti con altri sistemi di codificazione che vengono invece supportati dal sistema o dal programma, che porta così ad una sostituzione di caratteri illeggibili.

Questo fenomeno è spesso collegato a comunità di videogiocatori e retrogamers interessati a riprodurre, tradurre o informarsi su videogiochi sviluppati nei paesi estremorientali come Giappone, Cina, Corea del Sud, ecc..., che si imbattono frequentemente in errori di codificazioni di questo genere[1]. Il fenomeno è meglio conosciuto con il termine nipponico mojibake (文字化け)[2].

Etimologia

Le espressioni "errore di codificazione" od "errore di codifica", in ambito informatico, sono molto generiche e possono essere utilizzate anche in altri contesti che non riguardano il fenomeno descritto da questa pagina (tipo in caso di errori in un algoritmo di compressione, errore nella codifica video/audio (codec), errore nella serializzazione di dati binari, bug nella conversione tra formati). Per questa ragione, il termine nipponico mojibake viene preferito quando ci stiamo rivolgendo ad un errore di codificazione dei caratteri.

Il termine mojibake (文字化け) è una parola macedonia in giapponese ottenuta dai termini 文字 (moji, trad. lettera, carattere) e 化ける (bakeru, trad. trasformarsi, assumere la forma di, apparire sotto mentite spoglie, corrompersi) dando il significato letterale di "caratteri corrotti"[2]. Il termine viene utilizzato anche in testi ed articoli in lingua inglese, francese ed araba che descrivono il fenomeno.

In alcune lingue, come nel russo, il fenomeno viene chiamato кракозябры[3], mentre in tedesco viene chiamato zeichensalat [4]ed in cinese luànmǎ (亂碼 / 乱码)[5].

Caratteristiche

Un errore di codificazione testuale può essere confuso con la riproduzione di un file corrotto, dal momento che in entrambi i casi il testo presenta una sequenza di "caratteri strani". I due fenomeni possono essere distinti dal fatto che nel primo caso il problema è causato dal sistema o dal programma, incapace di riprodurre correttamente il file, mentre nel secondo caso il responsabile del problema è proprio il file.

I mojibake si verificano quando un testo viene interpretato con una codifica dei caratteri diversa da quella con cui è stato originariamente salvato. In pratica, se un programma non riconosce correttamente la codifica utilizzata, tenterà di leggere i valori numerici dei caratteri applicando uno schema differente, producendo così simboli privi di senso.

Ad esempio, la seguente frase in lingua giapponese “Xitsoftが開発したビデオゲーム”, se codificata in UTF-8, può comparire come “Xitsoft‚ªŠJ”­‚µ‚½ƒrƒfƒIƒQ[ƒ€” in diversi software Windows quando questi interpretano erroneamente il testo come Windows-1252[6].

Un caso analogo può verificarsi nei browser: se una pagina è scritta in EUC-JP ma viene letta come Shift-JIS (o viceversa), e la codifica non è dichiarata esplicitamente nell’intestazione HTTP o nel codice HTML, il browser non è in grado di determinarla automaticamente e mostrerà caratteri alterati.

Questo fenomeno si verifica spesso quando dei software sviluppati per una determinata regione geografica vengono riprodotti su dei computer provenienti da altre regioni geografiche. Il motivo è dovuto spesso e volentieri ad esigenze regionali che comportano l'uso di codifiche di caratteri diverse a seconda dell'area geografica di riferimento. Un esempio iconico è l'esecuzione di un eseguibile (.exe) di un videogioco giapponese che utilizza la codifica CP932, derivata dello Shift-JIS, su un sistema operativo Microsoft Windows italiano, che adopera la codifica Windows-1252. Da ciò si verificano errori di mojibake che possono causare una esecuzione anomala del programma interessato. Tuttavia l'utente può valutare l'utilizzo di strumenti come Microsoft AppLocale e Locale Emulator per poter riprodurre un applicazione od un file usando la codifica originale.

Voci correlate

Fonti

Note