У меня есть небольшой метод Java, который вставляет короткие сообщения в базу данных MySQL. сопоставление таблицы по умолчанию - utf8_unicode_ci, а код Java:
private void insertMessageToDataBase(String lRoom, String lChatusername,
String lMessage) {
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/embeddedChat?" +
"user=site_access&password=XXXXXXX");
addMessageToDataBase = con.prepareStatement("INSERT INTO `" + lRoom + "` (username, message, action)" +
" VALUES (?,?,'message');");
addMessageToDataBase.setString(1, lChatusername);
addMessageToDataBase.setString(2, lMessage);
addMessageToDataBase.executeUpdate();
}
catch (SQLException e) {
e.printStackTrace();
}
}
проблема в том, что когда lMessage на иврите, результатом является строка '??????'
Кстати: я не знаю, помогает ли это, но есть также PHP-скрипт, который иногда записывает в другую аналогичную таблицу в этой базе данных, и он отлично работает.