怎样将Emoj表情插入mysql5.6数据库__python+mysqldb

废话很少说,相信看到这里的看客已经看过很是多配置文件的设置方法。但是问题仍是没有解决。本文就具体记录一下个人解决方法吧。python


个人环境:mysql5.6+python2.7.3+MySQLdb1.2.4
mysql



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




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





三、  找到该路径下的配置文件,进行改动。python2.7





四、  详细改动内容:编码





文字:spa

[client]code

port=3306server

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'



五、  而后从新启动MySQL56服务。



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

SHOWVARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE'collation%';

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





七、觉得这样就完了吗?No,即便是这样咱们无论是在mysql workbench仍是经过python+mysqldb创建的utf8mb4数据库事实上仍是utf-8的,也正因如此,咱们的emoj字符才一直不能插入到数据库中。


    即便创建的数据库是utf8mb4的,咱们看到这个数据库仍是utf8的。


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

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




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



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

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

Mysql:




Sqlalchemy:

相关文章
相关标签/搜索