Python中MySQLdb执行插入操作时提示编码错误

编码格式查看

查看MySQL编码

mysql> show variables like "%char%";

这里写图片描述

查看数据库编码

show create database <databasename>

这里写图片描述

查看表编码

show create table <tablename>t;

这里写图片描述

查看字段编码

show full columns from artist;

这里写图片描述

编码格式修改

MySQL编码格式修改

set [global] character_set_database=utf8;
set [global] character_set_server=utf8;

其中 global 为可选参数,不指定global时只修改单个会话间的字符集,指定global后会修改多个会话间的字符集合。想要修改当前会话间的字符集,则不能使用global。但是重启后则会失效。

这里写图片描述

重启后修改失效:

这里写图片描述
永久修改MySQL默认编码需要修改配置文件(配置文件位置因系统而异,在我的Ubuntu上配置文件位于/etc/mysql/conf.d/mysql.cnf)添加如下内容即可:

[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
保存后MySQL默认编码即永久修改。

修改数据库编码

ALTER DATABASE <database_name> CHARACTER SET utf8; 

修改表编码

 ALTER TABLE  <table_name> DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

修改列编码

ALTER TABLE  `table_name` 
CHANGE  `column_name` 
 `column_name` 
 VARCHAR( 100 ) 
 CHARACTER SET utf8 
 COLLATE utf8_general_ci NULL DEFAULT NULL

COLLATE核对规则:
utf8_bin:区分大小写;
utf8_general_cs:大小写敏感;case insensitive的缩写
utf8_general_ci:大小写不敏感。case insensitive的缩写,意思是大小写不敏感

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值