如何将Emoj表情插入mysql5.6数据库__python+mysqldb
2014-05-23 09:51
495 查看
废话不多说,相信看到这里的看客已经看过很多配置文件的设置方法。但是问题还是没有解决。本文就详细记录一下我的解决方法吧。
我的环境: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:
我的环境: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:
相关文章推荐
- 怎样将Emoj表情插入mysql5.6数据库__python+mysqldb
- Python爬虫之Emoj表情无法插入数据库Mysql
- Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb
- MySQLdb:Python 操作 MySQL 数据库
- python MySQLdb mysql 数据库连接
- mysql5.6及以下版本如何查询数据库里的json
- Python int类型插入数据库 MySQLdb
- windows下MySQL5.6以上版本,如何通过修改配置文件来修改数据库的最大连接数啊?
- python操作mysql(一)MySQLdb模块安装和数据库基本操作
- python操作三大主流数据库(1)python操作mysql①windows环境中安装python操作mysql数据库的MySQLdb模块mysql-client
- python mysqldb 数据库插入中文 “"UnicodeEncodeError:'latin-1' codec can't encode character ..."”
- 如何利用python+mySQL写个数据库并且利用python将所需变量值写入数据库
- mysql设置数据库和表字符集以支持emoj表情
- python_如何通过twisted实现数据库异步插入?
- Python int类型插入数据库 MySQLdb
- mysql 如何将行数插入到数据库
- python mysql 插入的数据是字典时,可以直接插入到数据库,不要进行for循环读取每一个字段
- python mysqldb 数据库插入中文 “"UnicodeEncodeError:'latin-1' codec can't encode character ..."”
- python插入数据库Mysql 关键字段
- 如何解决python连接数据库编码问题(python传数据到mysql乱码)'ascii' codec can't encode _mysql_exceptions.OperationalError: (1366, "Incorrect string value:?