关于mybatis/mysql保存表情保存失败的问题
普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战、避免
emoji 表情符号带来的问题、涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集
这里建议大家使用Mysql5.5以上的版本 5.5以上已经采用了utf8mb4字符集## 标题
-
- 修改表字段字符集为utf8mb4,排序规则为utf8mb4_general_ci
ALTER TABLE table_name CHANGE column_name VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 再去修改表字符集utf8mb4,排序规则为utf8mb4_general_ci
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 修改数据可的字符集utf8mb4,排序规则为utf8mb4_general_ci
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
在Navicat里面 insert 语句保存成功了 但是在程序中却报错没有成功
这样的话就需要 更换最近的Soring Boot自带的mysql驱动了
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<version>5.1.38</version>-->
</dependency>
这里吧version 版本号去掉 默认加载最近的Mysql驱动 这样就可以保存成功了!!!
选用可以帮助大家
如果大家还有别的看法或者是解决办法可以给我留言互相学习