需要修改数据库、表、字段编码格式为utf8mb4

1.修改表字符集

ALTER table usr_user charset=utf8mb4;

2.修改字段字符集

ALTER table usr_user modify nick_name varchar(100) character set utf8mb4 collate utf8mb4_general_ci comment ‘姓名’;

3.代码中连接池增加

@Bean(destroyMethod="close",initMethod="init")
@ConfigurationProperties(prefix="spring.datasource")
publicDataSourcedataSource(){DruidDataSourcedataSource=newDruidDataSource();dataSource.setPasswordCallback(dbPasswordCallback());//支持表情StringTokenizertokenizer=newStringTokenizer("SET NAMES utf8mb4",";");dataSource.setConnectionInitSqls(Collections.list(tokenizer));//重点设置该参数return  dataSource;
}

或者在配置文件配置此属性(还需看使用什么类型的连接池):

连接池为hikari

# 接收emoji表情
​
spring:datasource:hikari:connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci​

或者是这个样子的(tomcat)

spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://*.*.*.*:3306/dbname?useUnicode=true&characterEncoding=utf-8username: usernamepassword: passwordtomcat:init-s-q-l: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci

又或者是这样的(连接池是druid)

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.p6spy.engine.spy.P6SpyDriverurl: jdbc:p6spy:mysql://***/***?autoReconnect=true&useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=trueusername: ***password: ***druid:connection-init-sqls: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci

4.修改数据库字符集

看了很多文章都是在mysql服务器修改my.cnf中的字符集配置,然后重启mysql

配值如下

[client]
default-character-set=utf8mb4[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
skip-character-set-client-handshake = true[mysql]
default-character-set = utf8mb4

其中character-set-server 和 collation-server 这些设置为utf8mb4字符集是比较容易理解的,就是将MySQL数据库相关的字符集都设置为utf8mb4;
但为了实现客户端utf8连接到MySQL后,使用的也是utf8mb4字符集,就在 mysqld配置中配置了 init_connect=‘SET NAMES utf8mb4’ 表示初始化连接都设置为utf8mb4字符集,再配置一个 skip-character-set-client-handshake = true 忽略客户端字符集设置,不论客户端是何种字符集,都按照init_connect中的设置进行使用,这样就满足了应用的需求。

这些参数在my.cnf配置好后,重启mysql实例让设置生效,应用人员经过各种测试后,确认满足字符集要求,各方面正常。

也可以使用Navicat,直接使用编辑功能修改编码格式

项目使用mysql接收emoji表情相关推荐

  1. php mysql emoji表情_php 让MySQL支持Emoji表情 mysql 5.5.3+

    让MySQL支持Emoji表情 mysql 5.5.3+ 让mysql支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决 ...

  2. mysql 5.6 emoji_让MySQL支持Emoji表情 mysql 5.6

    让 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. 需要 >= MySQL 5.5.3版本.从库也必须是5.5的了.低版本不支持这个字符集.  复制报错 2 my.cnf 文件 ...

  3. 让MySQL支持Emoji表情 mysql 5.6

    让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. ...

  4. emoji表情mysql报错_让MySQL支持Emoji表情 mysql 5.6

    让MySQL支持Emoji表情,涉及无线相关的 MySQL数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. 需 ...

  5. Mysql 解决emoji表情处理问题 - Incorrect string value: ‘\xF0\x9F\x92\x94‘ for column

    Mysql 解决emoji表情处理问题 - Incorrect string value: '\xF0\x9F\x92\x94' for column 参考文章: (1)Mysql 解决emoji表情 ...

  6. Mysql保存emoji表情

    Mysql保存emoji表情 Emoji 在我们生活中真的是越来越常见了,几乎每次发消息的时候不带个 Emoji,总觉得少了点什么,似乎干巴巴的文字已经无法承载我们丰富的感情了.对于我们开发者来说,如 ...

  7. 让mysql支持emoji表情_让MySQL支持Emoji表情 mysql 5.6

    让MySQL支持Emoji表情,涉及无线相关的 MySQL数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. 需 ...

  8. php mysql emoji表情_让MySQL支持Emoji表情

    让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集.utf8mb4和utf8到底有什么区别呢?原来以往的 让MySQL支持Emoji表情,涉及无线 ...

  9. mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6

    最近在做微信相关的项目,其中MySQL 要存储emoji表情,因此发现我们常用的utf8 字符集根本无法存储表情.网上有不少替代方案.本人还是采用了修改MySQL字符集的方案简单快捷. 首先将我们数据 ...

最新文章

  1. Vivado各个过程产生的文件与ISE的对比
  2. [Python unittest] 3-Organizing test code
  3. WAIC2020开幕在即,第四范式亮点抢先看
  4. python tqdm进度条打印
  5. Hadoop核心组件以及发行版
  6. Spring框架中的SpringFactoriesLoader
  7. 大数据是应对安全形势的进攻武器
  8. 服务器向客户机发信息,服务器如何主动给客户端发消息
  9. ubuntu下docker简单安装mysql
  10. android butterknife 自定义view,ButterKnife用法详解.md
  11. 路飞学城—Python爬虫实战密训班 第三章
  12. UVA10879 Code Refactoring【因子+暴力】
  13. navicat 注册过程
  14. GDT 培训 | 模拟第一基准,第二基准和第三基准的拟合
  15. 删掉wps后台烂进程
  16. windows查看自己的网卡名称
  17. 如何在Android中发送电子邮件
  18. Vue中使用vue-video-player视频播放器
  19. 总结2023Android开发面试题(含答案)
  20. 手写一个迷你版的 Tomcat 喵

热门文章

  1. python3 hasattr getattr setattr delattr 对象属性 反射
  2. yum whatprovides 查找哪个包可以提供缺失的文件
  3. 关于 $'\r': 未找到命令的解决(bad interpreter )
  4. adb 常用命令大全
  5. Linux内核探讨-- 第三章
  6. Android开发--Notification和PendingIntent
  7. Deep Learning and Shallow Learning
  8. mysql avg 求平均值_使用MySQL中的AVG函数求平均值的教程
  9. oracle sum 数据类型,五、Oracle内置函数
  10. python数据存储与读取_【Python爬虫】数据保存与读取