这让我感到很疯狂,我尝试了社区中不同的建议,但似乎都没有用。我甚至尝试只使用utf-8重新创建数据库,但仍然出现错误。
基本上,我正在使用pymysql模块并写入数据库。
openconnect = pymysql.connect(host='xxxx',port=3306,user='xxx',passwd='xxx',db='xxxx')
opencursor = openconnect.cursor()
我的一个栏位有问题,我尝试了以下选项...
引起问题的栏位是主题,我尝试了以下方法:
subject = (df.Subject[i])
subject.encode('latin-1', 'ignore')
尝试向数据库写入失败,如果我尝试使用 subject.encode('latin-1')
也会失败。
我有两个选择,要么修复编码问题,要么如何在 pymysql 中设置字符集为 utf-8?我已验证 MySQL 数据库的字符集设置为 utf-8。非常感谢您对此的帮助。
仍在苦苦挣扎。
subject
不是一个字面上的字符串,所以编码声明例如# -*- coding: utf-8 -*-
对它没有影响。该声明只能影响源代码中字符串字面值内的字符。2- 即使它确实受到影响,也不会有任何影响:'\u2013'
是一个仅包含 ASCII 字符的字符串字面值(Unicode 字符使用 Unicode 转义序列表示)。在 ASCII 范围内,Latin-1 和 UTF-8 没有区别。 - jfs