来源:自学PHP网 时间:2015-04-16 10:51 作者: 阅读:次
[导读] 废话不多说,相信看到这里的看客已经看过很多配置文件的设置方法。但是问题还是没有解决。本文就详细记录一下我的解决方法吧。我的环境:mysql5 6 43;python2 7 3 43;MySQLdb1 2 41、桌面上...
废话不多说,相信看到这里的看客已经看过很多配置文件的设置方法。但是问题还是没有解决。本文就详细记录一下我的解决方法吧。 我的环境: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: |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com