Certifique-se de que sua codificação de configuração do MySQL esteja definida corretamente. Verifique suas configurações e a correção das modificações com estes comandos:
show variables like 'character%';
e
show variables like 'collation%';
Adicione estas linhas a my.cnf ou meu.ini :
Para MySQL 5.1.nn e versões posteriores 5.5.29, você só precisa destas duas linhas:
[mysqld]
character-set-server = utf8
character-set-filesystem = utf8
Para MySQL 5.0.nn e versões anteriores, use estas configurações:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character-set-server=utf8
Provavelmente é mais conveniente usar MySQL-Workbench para suas configurações. As versões 5+ são excelentes.
No seu programa Java conecte assim:
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");