我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL如何插入Emoji表情

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL如何插入Emoji表情

前言

今天在设计开源项目的反馈信息表时遇到了emoji表情插入失败的问题,网上找了很多解决方案,答案五花八门,没找到好使的。

经过一番折腾后,终于成功插入了emoji表情,本文就跟大家分享下我的实现过程,欢迎各位感兴趣的开发者阅读本文。

写在前面

我的服务器是Mac系统,mysql使用brew安装的,windows/linux它的配置文件位置可能有些不一样,具体根据真实情况而定。

先跟大家看下它的报错信息:


chat_system> UPDATE chat_system.feedback t SET t.comments = '反馈信息测试😂' WHERE t.id = 1
[2020-12-01 21:36:08] [HY000][1366] Incorrect string value: '\xF0\x9F\x98\x82' for column 'comments' at row 1
[2020-12-01 21:36:08] [HY000][1366] Incorrect string value: '\xF0\x9F\x98\x82' for column 'comments' at row 1

实现思路

因为数据库默认是UTF-8编码格式,普通的字符串占位3个字节而表情占位4字节,此时UTF-8就不够用了,需要采用utf8mb4字符集就能解决这个问题了。

注意:utf8mb4字符集要求数据库版本高于5.5.3。

那么,我们要做的事情如下所示:

  • 修改mysql配置文件,设置其编码格式
  • 修改数据库字符集编码
  • 修改数据库表字符集编码

实现过程

mysql默认读取配置的顺序为:/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/etc/my.cnf、~/.my.cnf,如果对应目录下不存在这些配置文件,则需要自己新建一个。

  • 修改数据库配置文件my.cnf,我的文件位置在: /usr/local/etc下,添加下述代码

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

  • 修改数据库字符集编码,登录mysql后执行下述sql语句。

# 设置数据库字符集编码,chat_system为数据库名称,根据自己的实际情况而来
ALTER DATABASE chat_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 修改数据库表的字符集编码,登录mysql后执行下述sql语句。

# 设置数据库表字符集编码,chat_system.feedback_comment_reply为我的数据库下对应的表名称,根据自己的实际情况而来
ALTER TABLE chat_system.feedback_comment_reply CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

完成上述操作后,我们来看看是否修改成功,登录mysql后执行下述sql语句。


SHOW VARIABLES WHERE Variable_name LIKE 'character%' OR Variable_name LIKE 'collation%';

显示下属信息,则表示我们已经修改完成了。

测试用例

我们来往插入一个emoji表情来测试下:


UPDATE chat_system.feedback t SET t.comments = '反馈信息测试😂' WHERE t.id = 1;

如下所示,没有报错,插入成功。

我们用dataGrap查看下数据库表中的数据,如下所示,它显示了一个?,应该是软件无法识别。

讲道理,应该是插入成功了,我们用postman请求接口试下,成功显示出来了😄。

以上就是MySQL如何插入Emoji表情的详细内容,更多关于MySQL 插入Emoji表情的资料请关注自学编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL如何插入Emoji表情

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL如何插入Emoji表情

前言今天在设计开源项目的反馈信息表时遇到了emoji表情插入失败的问题,网上找了很多解决方案,答案五花八门,没找到好使的。 经过一番折腾后,终于成功插入了emoji表情,本文就跟大家分享下我的实现过程,欢迎各位感兴趣的开发者阅读本文。 写在
2022-05-17

Python如何实现emoji表情

这篇文章主要介绍了Python如何实现emoji表情,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。作为一个数据分析师,应该信奉一句话——“一图胜千言”。不过这里要说的并不是数
2023-06-15

Win10下如何用虚拟键盘输入网络虚拟表情emoji表情

emoji表情是近年来大热的一种网络虚拟表情,来源于日语,它可以说是编程人们日常表情的动画集合。2011年苹果发布的IOS 5集成了emoji表情,让它从此风靡世界。如今Win10也原生支js持输http://www.cppcns.com入
2023-06-10

Android中如何使用自带的emoji表情

本篇文章为大家展示了Android中如何使用自带的emoji表情,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是emoji表情emoji表情是一种表情符号,在代码中它现在其实是一组遵循Unico
2023-05-30

win10 emoji表情支持竖中指表情 节操何在?

Windows10中的emoji表情竟然开php始支持&ldquophp;竖中指”了,这不得不让全世界人对微软刮目相看!虽然目前微软全新操作系统Windows10正式版尚未发布,不过在最新的Windows10 emoji表情中,
2023-06-14

php如何处理emoji表情符号的转义

这篇文章主要介绍了php如何处理emoji表情符号的转义的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何处理emoji表情符号的转义文章都会有所收获,下面我们一起来看看吧。PHP提供了一种函数来处理表情
2023-07-06

【sql】MySQL——插入语句(联表插入)

今天用mysql插入联表数据遇见了一些问题,于是整理一下mysql插入语句。 插入语句 语法 方式一INSERT INTO表名(列名,...)VALUES(值1,...);方式二INSERT INTO表名SET列名=值,列名=值,...
2023-08-16

mysql emoji乱码如何解决

这篇文章主要介绍“mysql emoji乱码如何解决”,在日常操作中,相信很多人在mysql emoji乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql emoji乱码如何解决”的疑惑有所
2023-02-22

word如何插入表格

word插入表格的方法:1、打开Word文档,将光标放置在你想要插入表格的位置;2、顶部菜单栏中找到“插入”标签并点击,之后下拉菜单中找到“表格”选项;3、点击“表格”选项,根据需要选择合适的表格布局;4、选择了一个表格布局后,将鼠标移动到
2023-08-07

我们如何向 MySQL 表中插入新行?

借助 INSERT INTO 命令,可以将新行插入到表中。语法INSERT INTO table_name values(value1,value2,…)示例假设我们有一个名为“Employee”的表,其中包含三列“Emp_i
2023-10-22

我们如何向 MySQL 表中插入数据?

要将数据插入 MySQL 表,我们需要使用 INSERT INTO 命令。我们必须在 INSERT INTO 命令中指定表中所有列的值。语法INSERT INTO table_name values(value1,value2,&helli
2023-10-22

编程热搜

目录