Имеем:
- Последний mysql connector/j
- Кодировку БД, таблиц и полей в utf8_general_ci
- Системную кодировку системы(древний ASP Linux) - cp1251
- Принудительную установку кодировки при и после подключения:
String connectionString = "jdbc:mysql://www.box/database"
+ "?useUnicode=true&characterEncoding=UTF-8"
+ "&charSet=UTF-8&encoding=UTF-8";
Connection con = DriverManager.getConnection(connectionString,
"someuser", "somepass");
con.prepareStatement("SET CHARSET \"utf8\"").executeUpdate();
con.prepareStatement("SET NAMES \"utf8\"").executeUpdate();
По факту в базу вставляются записи в виде абракадабры. Казалось бы - настроил всё что можно, причём однозначно везде юникод, что может быть не так?