Resolvido, esqueci de adicionar a codificação ao inicializar o Connection:
antes era:
con = DriverManager.getConnection("jdbc:mysql:///dbname", "user", "pass");
funcionando agora):
con = DriverManager.getConnection("jdbc:mysql:///dbname?useUnicode=true&characterEncoding=utf-8", "user", "pass");