Actuellement, j'utilise Windows 7 x64 et je souhaite généralement que tous les outils de la console fonctionnent avec UTF-8 plutôt qu'avec la page de code par défaut 850.
Exécuter chcp 65001
dans l'invite de commande avant d'utiliser n'importe quel outil aide, mais existe-t-il un moyen de définir une page de code par défaut?
Mise à jour:
Changer la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
valeur pour 65001
rendre le système incapable de démarrer dans mon cas.
Proposition de modification HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun
à @chcp 65001>nul
servi juste bien pour mon but. (merci à Ole_Brun )
A
versions des fonctions Windows est interrompue. Tout le code doit être porté pour utiliser lesW
versions.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
est utilisé comme solution de secours pour les environnements non-unicode (non-utf), vous essayez évidemment de le forcer à un "unicode", car vous voyez qu'il est controversé par définition. Windows se bloque probablement car certains éléments du système au démarrage dépendent du jeu de caractères non-unicode pour fonctionner.Réponses:
Pour modifier la page de codes pour la console uniquement, procédez comme suit:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
chcp 65001
la source
@chcp 65001>nul
, alors que dans cette réponse acceptée, elle l'estchcp 65001
. Quelles sont les différences entre les deux?chcp 65001
, chaque invite de commande ouverte imprimera 'Page de code active: 65001' tout@chcp 65001>nul
en empêchant toute sortie.Autorun
n'est pas présent pour moi sous Windows 8.1.Autorun
n'est pas présent, vous pouvez ajouter une nouvelle valeur de chaîne avec le contenu de@chcp 65001>nul
Personnellement, je n'aime pas changer de registre. Cela peut causer beaucoup de problèmes. J'ai créé un fichier batch:
J'ai enregistré à l'
C:\Windows\System32
adresse switch.bat.J'ai créé un lien pour cmd.exe sur le bureau.
Dans les propriétés du raccourci cmd, modifiez la destination en:
C:\Windows\System32\cmd.exe /k switch
Voilá, quand je dois taper en UTF-8, j'utilise ce lien.
la source
Active code page: 65001
sur stdout. Donc, si vous faites quelque chose commeCHCP 65001 && mycommand.exe
cela, vous obtiendrez la page de code imprimée au début. Vous devezCHCP 65001 >nul && mycommand.exe
Fichier Reg:
Invite de commande:
PowerShell:
-Type DWord
est supposé avec PowerShell 3+ni -> New-Item
sp -> Set-ItemProperty
-ea 0 -> -ErrorAction Ignore
Cygwin:
/ -> \
HKCU -> HKEY_CURRENT_USER
user -> HKEY_CURRENT_USER
la source
chcp 65001
dans un fichier de commandes autorun. Voir stackoverflow.com/a/17405182/315083La commande pour changer la page de code est
chcp <codepage>
. Exemple:chcp 1252
. Vous devriez le taper dans une fenêtre Powershell. Pour éviter d'avoir à le taper à chaque fois (si vous devez toujours modifier la page de codes), vous pouvez l'ajouter à la ligne de commande du programme. Pour ce faire, procédez comme suit:-NoExit -Command "chcp 1252"
Soyez heureux. Ne vous mêlez pas du registre Windows à moins que vous n'ayez aucune autre option.
la source
-NoExit -Command "chcp 1252 > null"
omet également le message concernant la page de code sélectionnée au début.Pour ce faire, créez un profil PowerShell et ajoutez-y la commande "chcp 65001> $ null":
Cela ne nécessite pas de modification du registre et, contrairement à la modification de raccourci, fonctionne si PowerShell est démarré dans un dossier spécifique à l'aide du menu contextuel de l'Explorateur Windows.
la source
Dans la version 1809 de Windows 10, j'ai réussi à résoudre ce problème de manière permanente en allant dans le système
Language settings
, en sélectionnantAdministrative language settings
, en cliquantChange system locale...
et en cochant laBeta: Use Unicode UTF-8 for worldwide language support
case puis en redémarrant mon ordinateur.De cette façon, cela s'applique à toutes les applications, même celles que je ne démarre pas à partir d'une invite de commande!
(Ce qui était nécessaire pour moi, car j'essayais de modifier le code Agda d'Atom.)
la source