Python3数据插MySQL中文乱码解决方案

1. database要utf8的

  CREATE DATABASE spiderTest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

2. 表要utf8的

  use spiderTest 

  CREATE TABLE test
  (
   ID INT(18) PRIMARY KEY AUTO_INCREMENT,
   test1         VARCHAR(500),
   test2            VARCHAR(100),
   test3       VARCHAR(100)
 ) ENGINE=INNODB CHARSET=utf8

3. Python链数据库也要utf8

   import tracebackimport pymysql,pymssql

from DBUtils.PooledDB import PooledDB

# tmp = "insert into exch_no_rand_auto(stkcode) values(%s);" #SQL模板字符串
# l_tupple = [(i,) for i in range(100)] #生成数据参数,list里嵌套tuple
config = {
'host':'localhost'
,'user':'root'
,'password':'123456'
,'database':'spidertest'
,'charset':'utf8'
,'port':3306 #注意端口为int 而不是str
}
#调用函数
db = pymysql.connect(**config)

4. python文件最好也加上
# encoding=utf-8
声明utf8编码

5. MySQL执行以下查询,

  SHOW VARIABLES LIKE 'character%';

      瞅瞅谁还不是utf8

  

     改一下character_set_server:

  SET character_set_server='utf8';

还有修改MySQL的配置文件,我装的MySQL找了半天没找到配置文件在哪,又不想重装,先就这样弄吧

这下我是欧了,不知道你们欧不欧,不欧再搜搜吧,肯定还是编码的问题,不知道哪里漏了没设置好

 

转载于:https://www.cnblogs.com/laorenzhenhaoa/p/11199369.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值