Acentuação MySQL

0 respostas
C

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 totalsul > "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? :grin:

Obrigado...

Criado 6 de abril de 2007
Respostas 0
Participantes 1