Mojibake

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Crystal Clear app fonts.svg Cette page contient des caractères spéciaux. Si certains caractères de cet article s’affichent mal (carrés vides, points d’interrogation, etc.), consultez la page d’aide Unicode.

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 de codage. En langage courant et face à élément illisible le français dira " je vois des hiéroglyphes ". Ce concept est similaire au concept de krakozyabry (кракозя́бры).

Histoire[modifier | modifier le code]

Les problèmes d'encodage de caractères sont apparus dès que des encodages EBDCIC et ASCII sont apparus dans les années 1960.

La mise en réseau de divers matériels électroniques utilisant des conventions différentes pour le codage des caractère a accentué le problème.

Toutefois, avec l'émergence d'Unicode, et celle d'indicateurs d'encodage, le problème pourrait se réduire à un problème d'interopérabilité.

Étymologie[modifier | modifier le code]

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 ».

Causes[modifier | modifier le code]

Le phénomène de mojibake a lieu lorsque le codage des caractères utilisé pour enregistrer un texte est différent de celui utilisé pour l'afficher, parce qu'un logiciel intermédiaire n'a pas effectué la conversion nécessaire.

Ceci est lié à certaines technologies particulières qui ne donnent pas les bonnes informations sur le codage de caractères, ou qui donnent des informations contradictoires, comme aujourd'hui le fichier texte ou le web, même si d'après les RFC, d'autres protocoles ont été concernés dans le passé.

Cas du web[modifier | modifier le code]

Dans le cas d'une page web, le codage 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 le codage 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 codé en UTF-8 mais décodé comme de l'ISO 8859-1, le navigateur affichera les caractères bizarres « æ–‡å­—化け ». Quand le codage n'est pas spécifié explicitement, la plupart des navigateurs modernes utilisent des heuristiques pour tenter de déterminer le codage du texte dans le cas où l'option « détection automatique de l'encodage » est sélectionnée et utilisent le codage par défaut dans le cas contraire.

Cas du japonais[modifier | modifier le code]

Le mojibake est un phénomène particulièrement répandu en japonais (ce qui explique la nécessité de créer un mot pour le nommer) car il existe plusieurs codages possibles pour écrire le japonais. En particulier la famille de l'ISO 2022 (Shift-JIS, EUC-JP) est plus complexe et éventuellement plus à même de ne pas être prise en charge très correctement par tous les logiciels. UTF-8 est également utilisé. Or, selon le système d'exploitation, le codage par défaut n'est pas le même. Par conséquent, si l'information concernant le codage d'une page est absente, le codage 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.

De plus, il n'est pas impossible que d'autres problèmes d'interopérabilité existent vu que certains logiciels pourraient ne pas prendre en compte le fait que certaines extensions multi-octet de l'ASCII utilisent des caractères dans la plage ASCII comme octets suivant le premier.

Solutions[modifier | modifier le code]

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.

Liens externes[modifier | modifier le code]