Asegúrese de que su codificación de configuración de MySQL esté definida correctamente. Verifique su configuración y la corrección de las modificaciones con estos comandos:
show variables like 'character%';
y show variables like 'collation%';
Agregue estas líneas a my.cnf o mi.ini :
Para MySQL 5.1.nn y versiones posteriores 5.5.29 solo necesita estas dos líneas:
[mysqld]
character-set-server = utf8
character-set-filesystem = utf8
Para MySQL 5.0.nn y versiones anteriores, use esta configuración:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character-set-server=utf8
Probablemente sea más conveniente usar MySQL-Workbench para su configuración. Las versiones 5+ son excelentes.
En su programa Java, conéctese así:
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");