【发布时间】:2016-11-27 18:18:49
【问题描述】:
在我的 java 项目中,我不断收到[SqlExceptionHelper] Incorrect string value: '\xF0\x9F\x90\xBE V...',尽管 MySQL Workbench 显示该表是 UTF-8 格式,并且在工作台中添加值“Brandstätter”有效。
我在工作台中将排序规则从 utf8 更改为 utf8mb4,但这不起作用。此外,在 java 项目中,我的 application.properties 文件中有:jdbc.url = jdbc:mysql://localhost:3306/recommendations?useUnicode=true&characterEncoding=utf8(将utf8 更改为utf8mb4 导致Unsupported character encoding 'utf8mb4')。
另外,这会返回 utf8: SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "db-name";
我能做什么?
编辑:正在插入的数据:“Loy ¾ Virtual Pet Game”。
Edit2:现在我看得更仔细了,this application's name 解决了这个问题。我该怎么办?忽略奇怪的字符(Character.isISOControl,还是有比 UTF-8 更强大的排序规则?
【问题讨论】:
-
您可以添加将数据插入数据库的 java 代码吗?
-
monkeyStix - 正如我所说,我试图声明 utf8mb4 但它没有用。我是不是做错了什么?
-
你用的是什么版本的mysql?
-
@Ran,你使用 Spring JDBC 吗?
-
是的,我使用 Spring。另外,当我尝试导出数据时,MySQL 说它是 5.7.12 版本。