O velho problema do charset - UTF-8 não funciona [RESOLVIDO]

Olá pessoal,

Estou desenvolvendo uma aplicação Web,

  • Os jsp’s estão com charset UTF-8,
  • O meu banco é o MySQL e ele foi criado com o UTF-8
  • Eu uso o Apache Tomcat 6 e utilizo o pool de conexões via JNDI

Mas quando gravo informações no banco os dados ficam com vários caracteres malucos.

Alguém sabe o que poderia ser, pois as páginas e o banco estão com o mesmo charset?
Será que é porque eu uso o pool do Tomcat?

Obs: Quando o banco está em Latim-1 e as páginas em ISO-8859-1 tudo funciona.

Obrigado galera.

tentou:

<%@page contentType="text/html" pageEncoding="UTF-8"%> ?

[quote=andredecotia]tentou:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

Então andredecotia eu tentei sim, e no meu post eu comentei que as páginas estão em utf-8 e o banco tmb. Eu utilizo o pool o container tomcat para gerenciar minhas conexões pode ser isso?

Na hora de configurar o JNDI preciso especificar o charset?

Abraço.

Fala aí fera, coloca o seguinte no servlet:

request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");

Obrigado tc_medeiros, resolvi meu problema com sua dica, assim como o colega acima eu uso JNDI, tem que colocar o cl_ctype= na string de conexao sim…

Que bom targas, fico feliz por vc, espero que nosso amigo do post inicial tb tenha resolvido.

Fala pessoal,

Então eu mudei o projeto para ISO-8859-1, mas vou tentar fazer a mundança na string de conexão com o banco, atualmente o meu context.xml está assim:

<?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/lousadinamica"> <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="25" maxIdle="10" maxWait="-1" name="jdbc/lousadinamica" username="root" password="admin" type="javax.sql.DataSource" url="jdbc:mysql://localhost/lousadinamica?autoReconnect=true"/> </Context>

Onde eu devo especificar o charset?

Abraços galera

[quote=tc_medeiros]Fala aí fera, coloca o seguinte no servlet:

request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");[/quote]

tc_medeiros a sua dica deu certo adicionei estas duas linhas no meu servlet e agora os dados estão sendo inseridos corretamente no banco.

Muito obrigado e estou a disposição.

Abraço

Anteriormente participei deste post e resolvi meu problema com ele, agora atualizei meu SO para windows 7 e netbeans 6.9.1 e os comandos

request.setCharacterEncoding(“UTF-8”);
response.setCharacterEncoding(“UTF-8”);

não são mais reconhecidos pelo netbeans, aparecem como linhas de erro.

Alguem sabe o que é isso?