Pessoal,
Como funciona os acentos no MySQL? Um exemplo simples, tenho uma aplicação com uma tabela chamada bancos. No script de criação do BD eu faço alguns inserts de vários bancos: Por exemplo:
INSERT INTO `Bancos` VALUES (2,'104','Caixa Econômica Federal');
Via console do MySQL aparece assim:
mysql> select * from bancos;
+----+--------+-------------------------+
| id | numero | banco |
+----+--------+-------------------------+
| 1 | 001 | Banco do Brasil |
| 2 | 104 | Caixa Econômica Federal |
| 3 | 237 | Bradesco |
| 4 | 409 | Unibanco |
+----+--------+-------------------------+
4 rows in set (0.00 sec)
mysql>
Beleza… aparece certinho o acento…
Só que em minha página JSP aparece um ? no lugar do acento:
“Caixa Econ?mica Federal”
Tudo bem… fiz uma opção para alteração do nome do banco na página JSP. Fiz um prepareStatement e tal como segue
this.alterarBanco = conn.prepareStatement("UPDATE bancos SET numero = ?, banco = ? WHERE id = ?");
this.alterarBanco.setString(1, "104");
this.alterarBanco.setString(2, "Caixa Econômica Federal ");
this.alterarBanco.setInt(3, 2);
this.alterarBanco.execute();
Depois de executado o select no conselo do MySQL ficou assim:
mysql> select * from bancos;
+----+--------+-------------------------+
| id | numero | banco |
+----+--------+-------------------------+
| 1 | 001 | Banco do Brasil |
| 2 | 104 | Caixa Econ¶mica Federal |
| 3 | 237 | Bradesco |
| 4 | 409 | Unibanco |
+----+--------+-------------------------+
4 rows in set (0.00 sec)
mysql>
Ou seja… com um caracter estranho no lugar do acento…
Só que em minha página JSP a palavra ficou perfeita…
“Caixa Econômica Federal”
Alguém poderia me explicar o que acontece?
Para resolver isso eu cadastro tudo via aplicação… beleza… resolveu o problema… mas surgiu outro… o Backup…
Fiz um backup do banco MySQL como segue:
mysqldump -u root --password=mysql banco > "D:\Documents and Settings\Administrador\Desktop\backup.sql"
Beleza… gerou o script… o problema é que gerou assim…
INSERT INTO `bancos` VALUES (1,'001','Banco do Brasil'),(2,'104','Caixa Econômica Federal'),(3,'237','Bradesco'),(4,'409','Unibanco');
Ou seja… com os acentos… se rodar o script caiu no mesmo problema… no console os acentos certinhos e nas páginas o ? no lugar!!!
Alguém ai tem uma luz?
Obrigado…