Configurar codificação do Glassfish

6 respostas
O

Olá amigos da GUJ,
Eu estou com um problema que está me enchendo a paciencia. Eu estou construindo uma aplicação web simples de cadastro de usuários. O problema é que quando eu passo algum caractere especial (um caractere acentuado, por exemplo), quando eu vou gravar no banco de dados fica todo avacalhado. Eu já chequei as configurações do banco e dos jsp, ta tudo configurado pra UTF-8. Aí eu reparei o seguinte, quando eu recebo o parâmetro pelo meu servlet através do código abaixo:

String nome = request.getParameter("nome");
System.out.println(nome);

quando eu passo um nome com acento, no caso eu passei o meu mesmo, Otávio, no console do servidor imprime o seguinte Otávio. E com isso, eu notei que o problema está na hora que o servidor passa o parâmetro para o servlet. Alguém ai pode me ajudar com isso? Desde já agradeço.

6 Respostas

E

Opiniao minha, não sei se é isso, mas acho que nao tem haver com o glassfish e sim com sua página.

Veja se sua página está correta, e o form tbem tem uma propriedade chamada accept-charset=""

Nào se se é isso mas nao custa tentar:)

abs,

Evandro

O

Obrigado pela resposta… mas não deu certo … eu adicionei no form accept-charset=“UTF-8”. =[

Hebert_Coelho

Qual banco de dados vc está utilizando?

Já vi problema parecido mas era o MySQL que não estava configurado corretamente. Com isso, ele zuava tudo.

E

Hehe, que pena Otávio,

Cara outra dica, teve uma vez que o problema acontecia comigo com o glassfish, mas so aconteceia qdo era recebimento de socket, tive que adicionar nos parametros de iniciio da jvm, isso dentro do glassfish, -charset, alguma coisa assim, não me lembro o parametro correto mas na documentaçao do java pode ter :slight_smile: depois é só reinicar o glassfish.

tomara que ajude,

abs,
Evandro

jomello_br

Olá Otavio tudo bem contigo?

Bom faltou algums informações tipo vc esta usando JSP puro?

Qual seu banco?

Mas como vc disse esta fazendo o certo, usando UTF-8, mas até pelos caracteres que vc mostrou com certeza “alguem” esta mandando em formato iso-8859 ou o tal cp1252.

Algumas dicas, não sei se ajuda mas …

O Eclipse tem mania criar o projeto em iso-8859. (Lembre se algo nascer em um charset nada vai muda-lo . )

O Explorer tem mania de ignorar o charset e enviar o iso-8859 ou o tal cp1252 ( que é o mesmo )

O Ajax sempre manda UTF-8 (nesse caso da erro ao contrario quando vc usa iso-8859, que não é o seu caso)

Verifique com carinho se o seu banco esta configurado de verdade para UTF-8

Para paginas HTML:

Para XML:

<?xml version="1.0" encoding="UTF-8"?>

De repente estou chovendo no molhado (sorry se for o caso), mas sei la escapou algo né não :smiley:

Abraços

Jomello

E

Boa observação do jakefrog, também já tive problemas com isso por causa do encoding do banco.

É no banco que grava erro ou vc tá simplesmente recebendo o parametro e mostrando?

Criado 28 de outubro de 2011
Ultima resposta 28 de out. de 2011
Respostas 6
Participantes 4