I have a small Java method that inserts short messages to a MySQL Database.
the table’s default Collation is utf8_unicode_ci and the java code is:
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();
}
}
the problem is that when lMessage is in hebrew the result is a string of ‘??????’
BTW:
I don’t know if it helps but there is also a PHP script that sometimes write to another similar table in this database and it works fine.
Set UTF-8 in your code. See this;