thumb|La Wikipédia en japonais encodé en UTF-8, affiché avec l’encodage Windows-1252. est un emprunt lexical au 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 à un élément illisible le français dira . Ce concept est similaire au concept de krakozyabry (кракозя́бры).

Histoire Les problèmes d'encodage de caractères sont apparus dès que des encodages EBCDIC et ASCII sont apparus dans les .

La mise en réseau de divers matériels électroniques utilisant des conventions différentes pour le codage des caractères 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 Le mot japonais est composé de , qui signifie caractère et , provenant du verbe , qui signifie apparaître de manière déguisée, prendre la forme de, changer pour le pire. Littéralement, signifie donc « changement de caractère ».

Causes Le phénomène de 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 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/CEI 8859-1, le navigateur affichera les caractères « æ–‡å—化け ». 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 Le 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/CEI 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 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 est possible 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 Le problème du 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 .

Il peut aussi arriver de recevoir de courts messages texte en chinois alors que leur expéditeur assure n'avoir rien envoyé. Il ne s'agit souvent pas d'un piratage mais d'un simple accusé de réception mal encodé, par exemple : Message texte reçu = Converti. en octets dans le codage UTF-16BE = 6D65 7373 6167 6520 2074 6F20 3031 3233 3435 3637 3839 3020 7375 6363 6565 6465 642E Formaté en UTF-8 (ajout d'espaces) = 6D 65 73 73 61 67 65 20 20 74 6F 20 30 31 32 33 34 35 36 37 38 39 30 20 73 75 63 63 65 65 64 65 64 2E Interprété en tant que caractères en UTF-8 = ""

Références

Liens externes

Catégorie:Codage des caractères Catégorie:Codage du texte