python utf8mb4_使用Python将UTF-8字符串写入MySQL

如@ marr75所建议,请确保已设置charset='utf8'连接。设置字符集暗示了设置use_unicode=True不是严格必需的。

然后确保将unicode对象传递给数据库连接,因为它将使用传递给游标的字符集对其进行编码。如果要传递utf8编码的字符串,则在到达数据库时将对其进行双重编码。

因此,类似:

conn = MySQLdb.connect(host="localhost", user='root', password='', db='', charset='utf8')

data_from_ldap = 'M\xc3\xbcller'

name = data_from_ldap.decode('utf8')

cursor = conn.cursor()

cursor.execute(u"INSERT INTO mytable SET name = %s", (name,))

您也可以尝试通过传递init_command参数来强制连接使用utf8,尽管我不确定是否需要这样做。5分钟的测试应该可以帮助您做出决定。

conn = MySQLdb.connect(charset='utf8', init_command='SET NAMES UTF8')

另外,这一点也不值得一提,因为4.1太旧了,请确保您使用的是MySQL> = 4.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值