Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Caracteres Acentuados não são mostrados

Detectei um problema com o código, as bandas registradas que possuem caracteres com acentos não são exibidas. Por exemplo, se eu digito Ratos de Porão, aparece Ratos de Poro... a palavra acentuada é apagada. Acredito que o problema está relacionado com o Console.ReadLine();

Se eu faço dessa maneira:

bands.Add("Ratos de Porão", new List<int> { 7, 8, 6 });

Ele exibe o acento corretamente no terminal.

Tentei de várias maneiras resolver esse problema e não consegui. O Código em si está tudo certo como mostrado na aula. É mais por questão de curiosidade mesmo, gostaria de saber se tem uma solução.

Abaixo foram os exemplos que eu encontrei, não sei se funcionam nesse caso.

Console.InputEncoding = Encoding.UTF8;
Console.InputEncoding = System.Text.Encoding.UTF8;
Console.OutputEncoding = System.Text.Encoding.UTF8;
1 resposta
solução!

Olá, Brunno

Você pode tentar definir a codificação de entrada e saída do console para UTF-8, que é uma codificação capaz de representar caracteres acentuados. Você mencionou algumas tentativas nesse sentido, mas é importante ter certeza de que essas linhas de código estão no local correto.

Uma sugestão é colocar essas linhas logo no início do seu programa, antes de qualquer interação com o console. Por exemplo:

using System;
using System.Text;

class Program
{
    static void Main()
    {
        Console.InputEncoding = Encoding.UTF8;
        Console.OutputEncoding = Encoding.UTF8;

        // Restante do seu código aqui

        Console.ReadLine();
    }
}

Dessa forma, você estará definindo a codificação correta para entrada e saída do console antes de realizar qualquer operação. Vale ressaltar que essa solução pode não funcionar em todos os ambientes, pois depende das configurações do sistema operacional.

Espero que essa sugestão seja útil para resolver o problema que você está enfrentando. Se tiver mais alguma dúvida, é só me dizer. Espero ter ajudado e bons estudos!