使用pymysql写入中文的问题
作者:sigmeta
这篇文章主要介绍了使用pymysql写入中文的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
pymysql写入中文
直接写入中文会出现错误。
根据网上的方法,设置my.ini不成功
sql = "INSERT INTO companyinfo VALUES ('地方', 'Mohan', 'M')" try: # 执行sql语句 cursor.execute(sql.encode('utf8')) # 提交到数据库执行 db.commit() except: # 如果发生错误则回滚 db.rollback()
sql.encode('utf8') 之后可以写入,但是显示为乱码。
先设置
cursor.execute("set names 'utf8'") 就不是乱码了。
在程序执行前,先cursor.execute("set names 'utf8'"),执行的sql语句进行sql.encode('utf8)即可
pymysql连接数据库插入中文字符串错误
pymysql.err.InternalError: (1366, "Incorrect string value: .....)
数据库管理工具为heidisql
1.更改数据库的排序规则
2.更改数据库表的默认字符集
更改具体字段的排序
3.更改charset="utf8mb4"
db = pymysql.connect(host='127.0.0.1', user='root', passwd='***', db='***', charset="utf8mb4", use_unicode=True)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。