如何将Emoj表情插入mysql5.6数据库 python+mysqldb

如何将Emoj表情插入mysql5.6数据库 python+mysqldb,第1张

1、桌面上右击 计算机,选择“管理”, 选择“服务和应用程序”---“服务”, 在里面找到MySQL56的服务。

2、右击 MySQL服务,查看“属性”:往后拖一下,找到—default-file下图中画框部分,这里指明了MySQL启动的时候要加载的配置文件.

3、 找到该路径下的配置文件,进行修改。

4、 具体修改内容:

文字:

[client]

port=3306

default-character-set=utf8mb4

[mysql]

port=3306

default-character-set=utf8mb4

[mysqld]

port=3306

character-set-client-handshake= FALSE

character-set-server= utf8mb4

collation-server= utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

5、 然后重启MySQL56服务。

6、 在运行里面,找到并打开mysql command line,使用以下命令查看是否生效。

SHOWVARIABLES WHERE Variable_name LIKE 'character/_set/_%' OR Variable_name LIKE'collation%'

看到下面这个画面就说明生效了:

7、以为这样就完了吗?No,即使是这样我们无论是在mysql workbench还是通过python+mysqldb建立的utf8mb4数据库其实还是utf-8的,也正因如此,我们的emoj字符才一直不能插入到数据库中。

即使建立的数据库是utf8mb4的,我们看到这个数据库还是utf8的。

所以我们还需要继续实验,仔细看修改配置文件里面有一句:init_connect='SETNAMES utf8mb4',那我可以拿来用到数据库中。

果然,发现加上“SET NAMES utf8mb4”这句以后,数据库变成了utf8mb4.:

通过上文我们已经知道一种解决办法了,但有一个硬性条件就是你的数据库版本。当你的数据库版本没有达到5.5.3怎么办呢…总结一下,mysql支持存储emoji表情的方法,至少有两种。1.修改数据库编码为utf8mb4,前提是你的mysql数据库版本必须得是5.5.3及以后的2.将带emoji的文本转为base64来进行存储,返回时进行相应解码返回

先确定下字符集的修改是否有落实到具体字段上:

SELECT character_set_name,collation_name

 FROM information_schema.columns

WHERE table_schema = 'app'

  AND table_name = 'cm_user'

  AND column_name = 'user_name'

都应该是utf8mb4

针对直接在数据库添加emoji数据也失败的情况,

如添加

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7346552.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存