Python2.7 pymysql连接MySQL发现,中文不支持。于是,百度各种查、各种找资料,结果都没有解决。
总结原因如下:
1.数据库编码设置utf8
2.Python2.7默认使用的ascii,需要换成utf8
3.pymysql连接MySQL时,设置utf-8字符编码
4.如果运行时提示pymysql编码设置错误,忽略它,查看数据库,中文已经正常输入存储
#-*- coding:utf-8 -*-
import pymysql.cursors
if __name__ == "__main__":
conn = pymysql.connect(
host = "localhost",
port = 3306,
user = 'user',
password = 'your password',
db = 'your test database',
charset = 'utf8'
)
try:
with conn.cursor() as cursor:
sql = "INSERT INTO `train_info` VALUES ('G1006','深圳','武汉');"
cursor.execute(sql)
conn.commit()
with conn.cursor() as cursor:
# sql = "SELECT `train_code`, `start_staion`, `end_station` FROM train_info;"
sql = "select * from shop_station limit 1000;"
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
print result[0], result[1], result[2], result[3], result[4], result[5], result[6]
finally:
conn.close()