MySQL 保存 表情出错。 Incorrect string value: '\xF0\x9F\x8C\xB8'

Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘nick_name’ at row 1

第一 、修改:数据库默认编码。重启数据库, 
第二 、去掉 jdbc 连接里面的编码设置。 
第三 、修改数据库表的字符设置。 
第四 、修改对应表的字段的设置。

第一 、修改:数据库默认编码。重启数据库,


[client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 
[mysqld] 
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
init_connect='SET NAMES utf8mb4'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

第二 、去掉 jdbc 连接里面的编码设置。

# 主数据源,默认的
spring.datasource.url=jdbc:mysql://localhost:3306/xxx
  • 1
  • 2

第三 修改数据库表的字符设置。 
第四 修改对应表的字段的设置。(我就被这个坑了,调试了很久)

CREATE TABLE `user` (
  `uid` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `nick_name` VARCHAR(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '昵称',
  `phone` VARCHAR(20)  DEFAULT NULL COMMENT '电话',
) ENGINE=InnoDB
AUTO_INCREMENT=33 CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值