python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pymysql写入中文

使用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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文