Problema com JDBC + MySql

Galerinha to tendo 1 problema simples, qnd eu to pegando os dados do meu banco (Mysql) atraves dos meus jsps, ele n esta mostrando os dados com acento(´,^,~), ele esta substituindo por caracteres quaisquer, mas os dados sem acento exibe normal. Eu axo q isso eh coisa do driver do mysql p se conectar c jdbc. Vcs ja tiveram esse msm problema? O que ta acontecendo?

Obs: com o Microsoft Sql Server n tive isso.
Obs2: os dados com acento sao exibidos normais na linha de comando do MySql.

Figura dos dados sendo exibidos errado qnd o jsp pega do mysql:

Pousada do Cajú, Luís, etc…

Codigo do JSP q acessa o banco Mysql:
<%@ page contentType=“text/html; charset=UTF-8” pageEncoding=“ISO-8859-1” %>

<%=request.getParameter("catalogo")%>


<%@ page import=“java.sql.Connection, java.sql.DriverManager, java.sql.ResultSet, java.sql.SQLException, java.sql.Statement” %>

<%
String catalogo = request.getParameter(“catalogo”);

try {
Connection conexao;
String cmd;
Statement stmt;
ResultSet rs;

Class.forName(“org.gjt.mm.mysql.Driver”);
conexao = DriverManager.getConnection(“jdbc:mysql://localhost/controle_turistico”, “root”, “sa”);
stmt = conexao.createStatement();

if (catalogo.equals(“hoteis”) || catalogo.equals(“moteis”) || catalogo.equals(“boates”) || catalogo.equals(“restaurantes”) || catalogo.equals(“pousadas”)) {
cmd = "select num,nome,rua,bairro,tel,site,url_fotos from " + catalogo;
rs = stmt.executeQuery(cmd);

  while (rs.next()) {
out.println ("<p>" + rs.getShort(1) + " - ");
    if (rs.getString(7) != null) 
   out.println ("<a href=" + rs.getString(7) +" target=_blank>" + rs.getString(2) + "</a>" + "<i> (fotos)</i>"); 
else 
   out.println (rs.getString(2)); 
out.println ("<br>" + rs.getString(3) + ", " + rs.getString(4) + "<br>" + rs.getString(5) + "<br>" + rs.getString(6) + "</p>"); 
  }

}
else
if (catalogo.equals(“praias”)) {
cmd = "select num,nome,localizacao,url_fotos from " + catalogo;
rs = stmt.executeQuery(cmd);

     while (rs.next()) {
        out.println ("<p>" + rs.getShort(1) + " - ");
        if (rs.getString(4) != null) 
           out.println ("<a href=" + rs.getString(4) +" target=_blank>" + rs.getString(2) + "</a>" + "<i> (fotos)</i>"); 
        else 
          out.println (rs.getString(2)); 
        out.println ("<br>" + rs.getString(3) + "</p>"); 
     }
  }
  else {
     cmd = "select num,nome,rua,bairro,tel,url_fotos from " + catalogo;
     rs = stmt.executeQuery(cmd);
        	        
     while (rs.next()) {
        out.println ("<p>" + rs.getShort(1) + " - ");
        if (rs.getString(6) != null) 
           out.println ("<a href=" + rs.getString(6) +" target=_blank>" + rs.getString(2) + "</a>" + "<i> (fotos)</i>"); 
    else 
           out.println (rs.getString(2)); 
    out.println ("<br>" + rs.getString(3) + ", " + rs.getString(4) + "<br>" + rs.getString(5) + "</p>"); 
     }
  }

} catch (ClassNotFoundException cnfe) {
System.err.println(“Erro: classe inexistente”);
} catch (SQLException sqle) {
System.err.println(“Erro: SQL Exception”);
sqle.printStackTrace();
}
%>

vê no mysql como é que vc faz pra configurar o conjunto de caracters que ele vai usar (codepage, alguma coisa assim).

Woody

aonde vejo isso???

procure por character encoding (nao sei onde fica no mysql)

cara…
vai no MySQL Administrator -> Startup Variables -> (Aba) Advanced

olha se o def char set eh o latin1

eh o caso do meu que funciona normal :wink:

rpz mas qnd eu exibo os dados na linha de comando do mysql (sem ser pelos jsp´s), ele ta exibindo normal, caso esse negocio dos caracateres tivesse errado, ele exibiria errado na linha de comando tb, axo.

no meu mysql, n to encontrando esse mysql administrator (axo q eh pq peguei 1 versao mais “enxuta” do mysql)

sete o charset das suas jsp tb…

<%@ page contentType=“text/html; charset=UTF-8” pageEncoding=“ISO-8859-1” %>

eh esta diretiva q vc ta falando? se for, ja pus e nd :frowning: