AttributeError: 'NoneType' object has no attribute 'encoding' using pymysql

AttributeError: 'NoneType' object has no attribute 'encoding' using pymysql

import pymysql

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root',
    passwd='123456',db='home', charset="utf-8")

cursor = conn.cursor()
cursor.execute("""create table job_list(job varchar(30) , people varchar(30) , catagory varchar(30)  , place varchar(30), publish varchar(30)) """)

try:
    cursor.execute("""INSERT  INTO  job_list(job,people,catagory,place,publish) VALUES (%s, %s, %s, %s, %s)""",
        ["算法工程师", "2018毕业生", "研发", "雅加达", "2018-03-28"])
    conn.commit()
except pymysql.Error as e:
    print(e)

cursor.close()
conn.close()

having set charset but it is not useful,how can i insert Chinese into mysql

charset是一个mysql数据库字符集名称,需要转换为python编码。 pymysqlcharset.py 中有一个很大的列表。相反,pymysql 要么吐回您传入的字符集名称,要么引发您看到的不明显的错误。在 pymysql 世界中,"utf8" 是一个有效的字符集,但 "utf-8" 不是。所以,只需将您的连接更改为

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root',
    passwd='123456',db='home', charset="utf8")