Java 获取[SqlExceptionHelper]的字符串值不正确:'\xF0\x9F\x90\xBE V..'。尽管该表为UTF-8格式
在我的java项目中,我不断得到[SqlExceptionHelper]不正确的字符串值:'\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会导致不支持的字符编码“utf8mb4” 此外,这将返回utf8:从信息\u schema.SCHEMATA S中选择默认的\u character\u set\u name,其中schema\u name=db name 我能做什么 编辑:插入的数据:Loyߐ¾虚拟宠物游戏 Edit2:现在我看起来更阴险了,这就解决了问题。我该怎么办?忽略Character.isISOControl中奇怪的字符,或者是否有比UTF-8更强大的排序规则?您的表和与数据库的连接中需要utf8mb4 以下是线索:Java 获取[SqlExceptionHelper]的字符串值不正确:'\xF0\x9F\x90\xBE V..'。尽管该表为UTF-8格式,java,mysql,jdbc,utf-8,Java,Mysql,Jdbc,Utf 8,在我的java项目中,我不断得到[SqlExceptionHelper]不正确的字符串值:'\xF0\x9F\x90\xBE V..,尽管MySQL Workbench显示该表是UTF-8格式的,并且在工作台中添加值Brandstätter是有效的 我在工作台中将排序规则从utf8更改为utf8mb4,但这不起作用。另外,在java项目中,我的application.properties文件中有:jdbc.url=jdbc:mysql://localhost:3306/recommendatio
\xF0\x9F\x90\xBE
注意,第一个字节是hex F0。这是4字节“字符”的UTF8引入。MySQL的utf8处理长度不超过3字节;utf8mb4可以
注意:在MySQL之外,UTF-8表示任意长度的字符。在MySQL内部,utf8和utf8mb4之间存在着令人困惑的区别。您可以添加将数据插入数据库的java代码吗?monkeyStix-正如我所说的,我试图声明utf8mb4,但没有成功。我做错什么了吗?你用的是什么版本的mysql?@Ran,你用的是Spring JDBC吗?是的,我用的是Spring。另外,MySQL在我尝试导出其上的数据时说,它是5.7.12版本。我如何设置它?我尝试了jdbc.url,但没能看到我的问题,也没有帮助我通过工作台在MySQL中设置。jdbc的哪个版本?关于MySQL?不知道JDBC,MySQL在这里是5.7.12/13更好吗?可能的连接器/J问题: