我使用的是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