Pessoal, ontem eu até tinha postado um tópico sobre o assunto porque eu
estava com problemas de acentuação usando o ISO-9958-1 e resolvi
mudar tudo pra UTF-8 pensando que ia resolver. Acontece que ainda
continuo com os problemas.
Estou usando o MySQL e quando executo a sentença:
SHOW VARIABLES LIKE 'character_set%';
Todos resultados aparecem como utf-8, como abaixo:
Como vocês podem ver está tudo dentro dos padrões, e mesmo assim quando faço um insert no banco
a acentuação fica errada. Tem mais alguma coisa que eu possa fazer?
Mas antes de salvar as informações os caracteres ja apresentam problemas?
Onde realmente acontece o problema, na parte Java ou MySql?
Tive um problema destes quando utilizava o jetty dentro de um linux, precisei colocar o charset do linux como utf-8
De acordo com ele, antes de receber os parâmetros deve-se colocar um:
request.setCharacterEncoding("UTF-8");
Só não vou colocar o tópico como resolvido porque quero ver se isso vai continuar funcionando amanhã.
Editado -----> Até o momento está funcionando beleza. A única coisa que resolveu o problema foi colocar o código acima. Espero que possa ajudar outros.
Só para enriquecer essa discussão, com Spring eu estava tendo o mesmo problema num formulário jsp simples que insere dados no banco. Consegui resolver quando adicionei estas linhas no web.xml:
[quote=Leonardo Kennedy]Desculpa estar ressucitando o tópico ,mais se eu por só no jsp e não por no Servelt pq ele não funciona!?
só pra efeito de conhecimento mesmo.[/quote]
Muito obrigado! Salvou minha vida!
Defini meu form assim, para enviar por post informações para serem recuperadas pelo getParameter, para manipulação pela aplicação e envio para o banco de dados:
Mesmo estando definido na página e na aplicação não estava funcionado. Não fazia ideia desse atributo accept-charset da tag
Como já estava feito na diretiva page do JSP:
Mesmo essas declarações eram insuficientes. Foi muito útil para o projeto de meu TCC. Estava tudo perfeito até que quando fiz uma entrada digitada, pensei que a aplicação pararia de funcionar.
[quote=jamesfrj]Só para enriquecer essa discussão, com Spring eu estava tendo o mesmo problema num formulário jsp simples que insere dados no banco. Consegui resolver quando adicionei estas linhas no web.xml:
poucos meses atrás, eu testei em Bootstrap com HTML usar dentro do META o UTF-8-BR e depois disso eu notei que todos os acentos brasileiros funcionaram.
O UTF-8 deixou os caracteres da página acentuados corretamente e o ISO-8859-1 inseriu corretamente os dados no BD com codificação em UTF-8.
Não mudei nada no web.xml, nenhum filtro nem nada… Só adicionei o código acima na primeira linha do meu .jsp
Boa sorte a todos!!
Thiago Toscano[/quote]
[quote=mtonon] Boa Tarde a todos,
Passando para agradecer a dica do colega ttoscano. Sou iniciante em jsp e servlets, e sua dica foi fundamental para resolver meus problemas com acentuação!
O que aconteceu para muitos como eu foi o seguinte: O Java envia os dados pro BD só que com outra codificação, e o “encoding” formata os dados para UTF-8 que aceita os acentos, por exemplo.
Sei que já está resolvido, mas é uma alternativa.
Boa sorte.