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:

扫描二维码关注公众号,回复: 6806489 查看本文章

  SET character_set_server='utf8';

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

猜你喜欢

转载自www.cnblogs.com/laorenzhenhaoa/p/11199369.html
今日推荐