2016-07-24 19 views
1

在我的Java項目中,我不斷收到[SqlExceptionHelper] Incorrect string value: '\xF0\x9F\x90\xBE V...',雖然MySQL工作臺顯示,該表是UTF-8,並在工作臺中添加值「Brandst ä tter」的作品。獲得[SqlExceptionHelper]不正確的字符串值: ' XF0 x9F X90 XBE配...' 雖然表是UTF-8

我在工作臺改變的整理,從UTF8到utf8mb4,並沒有奏效。此外,在Java項目,我有我的application.properties文件:jdbc.url = jdbc:mysql://localhost:3306/recommendations?useUnicode=true&characterEncoding=utf8(改變utf8utf8mb4致毒Unsupported character encoding 'utf8mb4')。

而且,這將返回utf8SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "db-name";

我該怎麼辦?

編輯:插入的數據:「Loyߐ¾虛擬寵物遊戲」。

編輯2:現在我看起來更接近,this application's name coase問題。我該怎麼辦?忽視怪異字符(含Character.isISOControl,或者是有一個排序規則更加強大然後UTF-8

+0

你可以添加你的java代碼,將數據插入到你的數據庫? –

+0

monkeyStix - 正如我所說的,我試圖說明utf8mb4,但它沒有奏效。我做錯什麼了嗎? – Ran

+0

您使用的是哪個版本的mysql? – monkeyStix

回答

1

你在你連接到數據庫需要在表utf8mb4

這裏的線索:?

\xF0\x9F\x90\xBE 

通知的第一個字節是十六進制F0這是UTF8導入了4個字節的「字符」 MySQL的utf8不處理時間超過3個字節;。utf8mb4確實

注:外的MySQL, 「UTF-8」 是指任何長度的字符。 MySQL內部存在「utf8」和「utf8mb4」之間的混淆。

+0

我該如何設置?我嘗試了jdbc.url並失敗(請參閱我的問題),但它並沒有幫助我通過工作臺在MySQL中設置。 – Ran

+0

什麼版本的JDBC? MySQL的? –

+0

不知道JDBC,MySQL是5.7.12/13 – Ran

相關問題