Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Encoding UTF-8 no RequestDispatcher

Olá pessoal.

Minha página logout.html está assim:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Logout</title>
</head>
<body>
Usuário deslogado.
</body>
</html>

Meu código do dispatcher está assim:

req.setCharacterEncoding("UTF-8");
RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/paginas/logout.html");
dispatcher.forward(req, resp);

Mas ao exibir a página, a frase "Usuário deslogado" está sendo exibida desconfigurada, aparentemente, não sendo aplicado o encoding UTF-8. Se eu retirar do head a linha <meta charset="UTF-8"> a frase é exibida corretamente.

Outro teste que fiz foi, colocar essa página no WebContent e acessar via http://localhost:8080/gerenciador/logout.html. Nesse caso, a frase é exibida corretamente.

Alguém sabe me explicar o motivo do encoding não funcionar com o RequestDispatcher?

3 respostas
solução!

Consegui resolver aqui. No método onde está o RequestDispatcher, havia a declaração de um PrintWriter, que não estava sendo usado para nada. Ao comentar essa linha, o encoding funcionou corretamente. Só não entendi por que a declaração desse PrintWriter estava interferindo nisso.

Oi Rodrigo, não ficou claro para mim... se quiser, coloca de novo e analisa se o problema retornou... caso retorne, coloca seu código no github, posso dar uma olhada.

Opa, agora está ok. Obrigado.