Problemas com acentuação na entrada de dados

Estou com problemas na entrada de dados utilizando o Scanner e realizando a comparação com o método equals.

System.out.println("Qual Capital de São Paulo?");
Scanner entrada = new Scanner(System.in);
String capital = entrada.nextLine();
        
if(capital.equals("São Paulo")){
     System.out.println("Você acertou");
}else{
     System.out.println("Resposta Errada!!!");
}

Quando na saída quando insiro o valor de Resposta São Paulo ele considera como erro! porque?

Problema na codificação UTF-8.
Use o JoptionPane que sai mais barato ou você pode teimar com o scanner.

public static void main(String[] args) throws UnsupportedEncodingException {
        String capital = JOptionPane.showInputDialog("Qual Capital de São Paulo?");//Alterado        
        if(capital.equalsIgnoreCase("São Paulo")){//Alterado
        
            System.out.println("Você acertou");
        }else{
            System.out.println("Resposta Errada!!!");
        }
        System.out.println(capital);
    }

Tente compilar assim: javac NomeDoPrograma.java -encoding UTF-8

Mas, não tem como utilizar o Scanner?

estou utilizando o netbeans meu chapa

Tente a orientação de @Valtersouza147, faz sentido, não testei, pois estou no netbeans e sem o javac disponível, meio a contragosto, pois só vi quando precisei. :joy:

No netBeans, as alternativas que tentei usando argumentos utf-8, para leitura de string diretamente com scanner.nextline(), não deram certo, contudo, não posso dizer que não seja possível.
Por isso eu preferi informar que:[quote=“addller, post:2, topic:353431”]
sai mais barato
[/quote]

usar JOptionPane.

Nem assim, foi:

Nem aqui:

E tendo como base: https://stackoverflow.com/questions/27473513/read-utf-8-using-scanner
Nem assim:

    `Scanner entrada = new Scanner(System.in,"UTF-8");`

Realmente testei aqui e não foi, utilizei o JOptoinPane e já tinha utilizado antes só queria saber se funcionava com Scanner.