MySQL如何插入Emoji表情
网络编程 2021-07-05 14:37www.168986.cn编程入门
这篇文章主要介绍了MySQL如何插入Emoji表情,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
前言
今天在设计开源项目的反馈信息表时遇到了emoji表情插入失败的问题,网上找了很多解决方案,答案五花八门,没找到好使的。
经过一番折腾后,终于成功插入了emoji表情,本文就跟大家分享下我的实现过程,欢迎各位感兴趣的开发者阅读本文。
写在前面
我的服务器是Mac系统,mysql使用brew安装的,windows/linux它的配置文件位置可能有些不一样,具体根据真实情况而定。
先跟大家看下它的报错信息
chat_system> UPDATE chat_system.feedback t SET t.ments = '反馈信息测试😂' WHERE t.id = 1 [2020-12-01 21:36:08] [HY000][1366] Incorrect string value: '\xF0\x9F\x98\x82' for column 'ments' at row 1 [2020-12-01 21:36:08] [HY000][1366] Incorrect string value: '\xF0\x9F\x98\x82' for column 'ments' at row 1
实现思路
因为数据库默认是UTF-8编码格式,普通的字符串占位3个字节而表情占位4字节,此时UTF-8就不够用了,需要采用utf8mb4字符集就能解决这个问题了。
注意utf8mb4字符集要求数据库版本高于5.5.3。
那么,我们要做的事情如下所示
- 修改mysql配置文件,设置其编码格式
- 修改数据库字符集编码
- 修改数据库表字符集编码
实现过程
mysql默认读取配置的顺序为/etc/my.f、/etc/mysql/my.f、/usr/local/etc/my.f、~/.my.f,如果对应目录下不存在这些配置文件,则需要自己新建一个。
- 修改数据库配置文件my.f,我的文件位置在: /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_ment_reply为我的数据库下对应的表名称,根据自己的实际情况而来 ALTER TABLE chat_system.feedback_ment_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.ments = '反馈信息测试😂' WHERE t.id = 1;
如下所示,没有报错,插入成功。
我们用dataGrap查看下数据库表中的数据,如下所示,它显示了一个?,应该是软件无法识别。
讲道理,应该是插入成功了,我们用postman请求接口试下,成功显示出来了😄。
以上就是MySQL如何插入Emoji表情的详细内容,更多关于MySQL 插入Emoji表情的资料请关注狼蚁SEO其它相关文章!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程