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

encoding de jsp

Estava fazendo uns testes confiando no encoding da pagina, agora fui olhar o resultado, todos os registros com acentuação estão errados mesmo minha jsp configurada para utf-8, alguém sabe como resolver?

minha pagina

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


<!DOCTYPE>
<html>
<head>
<meta charset=UTF-8>
8 respostas

Oi Diego, como que vc está salvando o arquivo? Ele precisa estar sendo salvo em UTF-8 também.

Tente abrir esse arquivo no Sublime Text ou algum outro editor e salve como UTF-8

Abraços!

Vá no seu Package Explorer, clica com o botão direito do mouse sobre seu arquivo .JSP, vá em Properties e certifique-se de que o arquivo está com o encoding padrão como UTF-8.

Abraços!

Rodrigo olhei nesse caminho que indicou e o arquivo estava como default, ai mudei para UTF - 8, mas o erro continua. gravo José, sai José. crio a jsp pelo eclipse.

Estranho, amigo. Nunca vi tal comportamento.

Olhei o projeto e esta em utf-8, as jsp tambem. Quando o dado vai para controller ele já esta errado.

meu form

<form action="${ s:mvcUrl('UC#gravarUsuario').build() }" method="post">
        <label for="login">Login: <input class="form-control"
            type="text" id="login" name="login" required="required" /></label><br /> <label for="senha">Senha:<input
            class="form-control" type="password" id="senha" name="senha"
            required="required" /></label><br />
        <button class="btn btn-success" id="btnLogin" type="submit">Cadastrar</button>
    </form>

Oi Diego, esse nome está vendo de onde? Pode ser também que o encoding do seu banco de dados está com problema.

Tenta escrever José hardcoded na jsp mesmo, sem trazer do controller?

acho que você não entendeu Philippe. Esse codigo é do form, o

 name="Login"

ele é um atributo do meu objeto, e ele não vem da controller, ele vai para controller quando eu der submit. eu criei um

<p>José</p>

e ele aparece certo na jsp, mas o problema não são os acentos da pagina e sim como esta indo o valor dos inputs para controller. e minha base do mysql esta com collation-utf-8 tambem.

solução!

alterei para testar e funcionou, agora esta certa a acentuação.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="UTF-8"%>