Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O bug mencionado na saída do console CLI, onde a mudança para a codificação UTF-8 no SDK do .NET, quebrou a funcionalidade de todo o console, foi corrigido. A codificação do console não permanece mais UTF-8 depois que o SDK do .NET executa um comando. É possível que os utilizadores tenham confiado nesse comportamento, portanto, esta é uma alteração significativa.
Além disso, o SDK do .NET não altera mais a codificação para UTF-8 em versões mais antigas do Windows 10 que não oferecem suporte total.
Comportamento anterior
- O SDK alterou a codificação de um terminal depois de executar um comando como
dotnet build. - O SDK usou a codificação UTF-8 para renderizar corretamente caracteres não ingleses, mesmo em versões do Windows 10 que não suportavam oficialmente UTF-8. O comportamento foi indefinido nessas versões.
Novo comportamento
- O SDK não altera a codificação do terminal após a saída para outros programas.
- Por padrão, o SDK não usa mais UTF-8 para versões do Windows que não oferecem suporte a ele.
Versão introduzida
7.0.3xx .NET 8 Visualização 3
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade binária. É também uma mudança de comportamento.
Motivo da mudança
Havia um bug existente em que o SDK do .NET afetava a codificação no console para outros programas. Esse foi um bug que foi corrigido, na sequência de uma alteração disruptiva.
As versões mais antigas do Windows 10 (ou seja, versões anteriores à atualização de novembro de 2019) não suportavam UTF-8, portanto, o comportamento padrão não deveria ser usar a codificação UTF-8. Em vez disso, uma adesão por opção está agora disponível.
Ação recomendada
Se o seu aplicativo precisar alterar a página de código no Windows, ele poderá executar um processo para invocar o chcp comando. Seu aplicativo não deve depender do SDK do .NET para alterar a codificação.
Para versões mais antigas do Windows 10 que não suportam oficialmente UTF-8 onde você deseja que o SDK do .NET continue a alterar a codificação para UTF-8 para idiomas diferentes do inglês, você pode definir a variável DOTNET_CLI_FORCE_UTF8_ENCODING de ambiente como true ou 1.