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找了半天沒找到配置文件在哪,又不想重裝,先就這樣弄吧

這下我是歐了,不知道你們歐不歐,不歐再搜搜吧,肯定還是編碼的問題,不知道哪里漏了沒設置好

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM