Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取[SqlExceptionHelper]的字符串值不正确:'\xF0\x9F\x90\xBE V..'。尽管该表为UTF-8格式_Java_Mysql_Jdbc_Utf 8 - Fatal编程技术网

Java 获取[SqlExceptionHelper]的字符串值不正确:'\xF0\x9F\x90\xBE V..'。尽管该表为UTF-8格式

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

在我的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

以下是线索:

\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问题: