Решено, забравих да добавя кодирането при инициализиране на връзката:
преди беше:
con = DriverManager.getConnection("jdbc:mysql:///dbname", "user", "pass");
сега (работи):
con = DriverManager.getConnection("jdbc:mysql:///dbname?useUnicode=true&characterEncoding=utf-8", "user", "pass");