Tutos geek

Tutoriaux linux, debian, android et autres

Encodage de la fenêtre de Commande de Windows

L'invite de commande (cmd.exe) de Windows utilise un encodage pourri particulier.
Il s'agit de OEM 850.

Vous pouvez le vérifier en tapant la commande
chcp



Si vous écrivez des accents dans un fichier texte et que vous l'ouvrez vous verrez ça.

"Tempête à Hawaï" devient "Tempˆte … Hawa‹" en ANSI et "Temp?e Š Hawa?" en UTF-8.

Si vous souhaitez le rendre compatible avec le reste du Monde :
  • Sélectionnez le bon encodage (Dans Notepad++ via le menu Encodage -> Codage de caractère -> Langues d'Europe occidentale -> OEM 850)
  • Convertissez en UTF-8 (menu Encodage -> Convertir en UTF-8)
  • Et sauvez



Versions
Windows 7 Pro 64 bits - SP1
Notedpad++ v6.6.7


Sources
What encoding/code page is cmd.exe using
Convert UTF-16 unicode characters to UTF-8 in java

Rukhazon :

N'y a t'il pas moyen de faire passer ce programme en UTF-8 ou dans un encodage plus classique (latin-9 par exemple) ?

Pumbaa :

@Rukhazon : Dans la 1ère source de l'article l'auteur indique qu'on peut changer le charset de l'invite de commande en tapant "chcp 65001" pour passer en UTF-8.
J'ai essayé mais :
- Lire un fichier créé en UTF-8 ne fonctionne toujours pas ;
- Taper une commande avec ce charset actif fait planter la console...

Comme de toute façon la commande chcp n'est actif que pour la session en cours tu peux tester sans risque.
Et si jamais ça marche chez toi et que tu souhaites que ça soit permanent tu peux modifier une variable de registre

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9



Source : http://stackoverflow.com/questions/14109024/how-to-make-unicode-charset-in-cmd-exe-by-default