我使用的是MySQL数据库和插入这样的:当我插入如何保存特殊字符在数据库
try (Connection connection = DbConnector.connectToDb();
PreparedStatement stm = connection.prepareStatement("INSERT INTO Country (name) VALUES (?)")) {
stm.setString(1, name);
if (stm.executeUpdate() > 0) {
result = true;
}
} catch (Exception e) {
logStackTrace(e);
}
现在:België属于它在数据库保存在一个奇怪的方式E不是保存。我该如何解决这个问题?
编辑:
我只是通过改变表:
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
但仍当我添加一个新的没有在网页上正确显示它。
在你的db,你的源代码和你的机器中使用正确的编码 – Steffen 2015-02-06 08:32:48
数据库中的字段类型是什么?你如何验证在数据库调用之前你已经获得了正确的数据?你如何验证它没有正确存储?我并不是说这不是问题,但我们很难在没有更多信息的情况下提供帮助。 – 2015-02-06 08:34:42
字段类型是一个字符串。我通过我的网页和mysqlworkbench进行了验证。 – user1007522 2015-02-06 08:41:36