Mojibake

Un article de Wikipédia, l'encyclopédie libre.

Mojibake est un emprunt lexical du japonais qui signifie que les caractères affichés à l'écran d'un logiciel informatique ne s'affichent pas correctement, à cause d'un problème d'encodage.

[modifier] Étymologie

Le mot japonais 文字化け (mojibake) est composé de 文字 (moji), qui signifie caractère et 化け (bake), provenant du verbe 化ける (bakeru), qui signifie apparaître de manière déguisée, prendre la forme de, changer pour le pire. Littéralement, mojibake signifie donc « changement de caractère ».

[modifier] Causes

Le phénomène de mojibake a lieu lorsque l'encodage des caractères utilisé pour enregistrer un texte est différent de celui utilisé pour l'afficher. Dans le cas d'une page web, l'encodage utilisé peut être spécifié explicitement soit par le biais d'une balise HTML soit par le biais d'un en-tête HTTP, de sorte que le navigateur est capable d'afficher le texte avec l'encodage dans lequel il a été écrit. Cependant, si cette information est erronée ou absente, ce ne seront pas les bons caractères qui s'afficheront. Par exemple, si le mot "文字化け" est encodé en UTF-8 mais affiché en ISO 8859-1, le navigateur affichera les caractères bizarres "文字化け". Quand l'encodage n'est pas spécifié explicitement, la plupart des navigateurs modernes utilisent des heuristiques pour tenter de déterminer l'encodage du texte dans le cas où l'option "détection automatique de l'encodage" est sélectionnée et utilisent l'encodage par défaut dans le cas contraire.

Le mojibake est un phénomène particulièrement répandu en japonais (ce qui est explique la nécessité de créer un mot pour le nommer) car il existe plusieurs encodages possibles pour écrire le japonais : ISO 2022, Shift-JIS, EUC-JP, UTF-8... Or, selon le système d'exploitation, l'encodage par défaut n'est pas le même. Par conséquent, si l'information concernant l'encodage d'une page est absente, l'encodage par défaut utilisé pour afficher la page ne sera pas le même. Il en résulte que la page sera mojibake si elle n'est pas affichée sur le même système d'exploitation que celui avec lequel elle a été écrite.

Le problème du mojibake ne se limite cependant pas aux seules pages web. Sous Windows, certaines applications sont dites « Unicode » (application tournant quelle que soit la langue de Windows) et d'autres sont localisées. Si une application japonaise n'est pas Unicode, un utilisateur d'une version française de Windows devra passer le système d'exploitation complet en mode japonais afin de pouvoir la voir correctement. Les applications japonaises deviendront alors lisibles mais les applications françaises non Unicode deviendront à leur tour mojibake.