Incorrect string value: ‘\xF0\x9F\x98\xAD",…’ for column ‘commentContent’ at row 1
这个问题困扰了我一天,就是数据库保存聊天记录是,对于表情包不能存储,因为数据库使用的是utf-8,这个字符集不能存储,具体原因可以百度。我看其他人解释的是因为utf-8最多可以存储3个字节,表情包这些是扩展字符,存不下,所以需要utf8mb4这个扩展字符集来存储。
问题解决:修改
将数据库字符集修改为utf8mb4,表也修改,我是两个都修改,一开始就是按照其它博客来做。没试过只修改一个表能不能成。
记得修改连接数据库的url,将characterEncoding=utf8去掉,别想着修改为utf8mb4还是会报错,别问我为什么知道,去掉就完事了。
注意点就是好像版本太低了修改了也没用,它不支持,我的版本是8.0的,5.7以上应该都可以。
但是~~
还是不行-_-
原因在于我的数据库是云服务器的数据库,这个修改只能一次连接有效,ok我又是一通搜索,终于找到一个看似解决的答案
SET character_set_client='utf8mb4';
SET character_set_connection='utf8mb4';
SET character_set_results='utf8mb4';
sql窗口执行一下这三句代码,问题就解决了,我目前是没问题,仅供参考。不保解决。