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

废话不多说,相信看到这里的看客已经看过很多配置文件的设置方法。但是问题还是没有解决。本文就详细记录一下我的解决方法吧。


我的环境:mysql5.6+python2.7.3+MySQLdb1.2.4



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.:




这样可以再推广应用到代码里面。见8.



8、 在python + mysqldb 或者 python +sqlalchemy两种模式都适用。

创建连接以后, 游标对象首先要执行一遍“SET NAMES utf8mb4;”这样就能保证数据库连接是以utf8mb4编码格式连接,数据库也就变成utf8mb4的啦。前面都是铺垫的内容, 如果没有第 8 步,前面都是白做的。

Mysql:




Sqlalchemy:




  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值