Agora eu acho a resposta, obrigado por ajudar. Não aceitarei minha própria resposta em uma semana para ver se alguém pode postar uma resposta melhor.
O problema está na página de código. Configurei meu idioma de exibição padrão para o Windows 10 como chinês simplificado, com página de código GBK (936). Então, em cmd
windows, o sistema pretende mostrar todas as informações em chinês. Na verdade, vemos que nas primeiras imagens que eu postei na pergunta, as linhas iniciais de informações de ajuda são mostradas em chinês.
Para mostrar algo em chinês, você precisa encontrar uma fonte adequada para fornecer as informações de dicas para caracteres chineses. Aparentemente, o Windows verifica todas as fontes antecipadamente para ver seu suporte aos caracteres de página de código atuais. Quando a fonte definida não tiver suporte chinês, ela abandonará essa fonte e retornará à fonte padrão. Além disso, ele eliminará essa fonte da lista de configurações de fonte no painel Padrão. Yahei Consolas Hybrid
suporta inglês e chinês, portanto, ela pode ser mostrada na lista em Configurações padrão e Propriedades. No entanto, Monaco
e Dejavu
desapareceram do painel Default, mas permanecem no painel Properties.
Por que não limpa a lista de fontes de propriedades também? Porque, como dizem os comentários, "Propriedades" aplica-se à atual cmd
windows / session, enquanto as configurações "Padrão" controlam todas as sessões cmd
subseqüentes, por exemplo, mais globais. Garante que, se o usuário alterar a página de código no tempo de execução, não precisará fazer a verificação da lista de fontes novamente para Propriedades, e o usuário poderá alterar a fonte diretamente. Isso é exatamente o que acontece na minha caso. Devo dizer que o Windows fez muito trabalho de fundo aqui.
Você pode ver na captura de tela a seguir que eu mudei a página de código com chcp 1252
e a alteração da fonte entrará em vigor imediatamente. É Monaco
agora.
Então,aquestãosevoltapara:"Como mudar a página de código ao iniciar uma janela cmd
?" E eu encontrei uma pergunta muito útil:
Alterar a página de códigos padrão do console do Windows para UTF -8
E simplifico a alteração para:
- Crie um arquivo
.reg
, nomeie-o como desejar. - Copie essas linhas para o arquivo e salve.
Basta digitar:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"Autorun"="chcp 1252>>nul"
1252
pode ser outros valores. >>nul
é para evitar a impressão
Active code page: 1252
toda vez que você iniciar o cmd
.
- Execute o arquivo para importar as configurações.
- Executar
cmd
. Agora você pode definir sua fonte facilmente em Propriedades. (Observo que, se você executar de um link na área de trabalho, a fonte seráSimsun
, mas se você executar a partir da âncora na barra de tarefas, seráYahei Consolas Hybrid
. Não sei por quê. Mas você pode alterar a fonte .
Definir a fonte padrão no padrão não funciona para sessões subseqüentes de cmd
, no entanto. Ele ainda cai para Simsun
, então não consigo alcançar "Abrir cmd e com Monaco
font". Eu acho que é porque o Windows verifica a página de código do idioma atual com fontes, não a página de código "autorun" com fontes. , alterando o idioma padrão pode estar funcionando, mas não é isso que eu quero. Ainda estou com esse tópico.