L’Invite de commandes de Windows NT (qui n’est pas l’ancien système d’exploitation MS-DOS et ne doit pas être appelée ainsi) utilise un codage des caractères différent de celui du reste du système : sur un Windows français, elle emploie l’ancienne page de codes 850 (437 sur un Windows US), alors que Windows lui-même est en Unicode (UTF-8, ou UTF-16 sur les versions extrême-orientales).
La Table des caractères de Windows te permet de voir quels caractères (pour la police sélectionnée dans la liste ; par défaut, c’est Arial) sont compris dans les différentes pages de codes, via la case « Avancé » en bas de sa fenêtre : tu dois avoir 3 listes qui apparaissent. La première, intitulée « Jeu de caractères » (affichant par défaut « Unicode ») doit te donner la liste des dispositions « Windows : Occidental » – la disposition ANSI des Windows non-NT (Windows 3.x et antérieurs, 95, 98 et Me) et « DOS : Europe de l’Ouest » (la page de codes 850)).
C’est ainsi qu’un fichier texte créé depuis l’Invite de commandes (typiquement, la sortie d’un DIR pour faire la liste des fichiers et sous-dossiers d‘un dossier donné) contiendra des erreurs d’encodage pour les caractères dit « spéciaux » (tout ce qui n’est pas contenu dans la liste des 128 premiers caractères de la primordiale table ASCII 7 bits) : l’Invite de commandes les encodera en 850, mais Windows les lira en ANSI/Unicode. Sauf que pour un même code de référence, ce n’est pas le même caractère qui est inscrit dans ces tables… On peut s’en sortir en ouvrant ces fichiers textes dans un navigateur Web et en forçant un autre décodage de caractères dans les options d’affichage (même si ça ne corrigera pas le fichier d’origine, mais à partir de là, tu copies-colles la version correctement affichée par-dessus l’original).
Le mieux est donc d’éviter de mélanger les usages, entre outil conçu pour un usage en ligne de commandes et un autre, conçu pour un usage en GUI depuis le Bureau de Windows.
Message édité par Trit' le 25-09-2016 à 15:21:36