当前位置: 首页 > 知识库问答 >
问题:

PyMySQL警告:(1366,“不正确的字符串值:'\\xf0\\x9f\\x98\\x8d t...')

裴欣然
2023-03-14

166:警告:(1366,“不正确的字符串值:'\xf0\x9f\x92\x9c\xf0\x9f...'for列'text'在第3行”)结果=self._query(query)

166:警告:(1366,“不正确的字符串值:'\xf0\x9f\x98\x8d t...'for列'text'在第5行”)result=self._query(query)

经过彻底的搜索,我的数据库列的设置方式似乎有问题。我尝试将数据库字符集设置为UTF8,并将其整理为utf_unicode_ci,但仍然收到相同的错误。

#To create connection and write table into MySQL

engine = create_engine("mysql+pymysql://{user}:{pw}@{lh}/{db}?charset=utf8"
                       .format(user="user",
                               pw="pass",
                               db="blahDB",
                               lh="bla.com/aald/"))

df.to_sql(con=engine, name='US_tweets', if_exists='replace')

我正在导入的数据由以下数据类型组成:'Int64'、'Object'和'DateTime64[ns]'。通过将数据打印到控制台,我找到了这些数据类型

print(df['tweett']) >>> returns dtype 'object'

我将不胜感激,谢谢!

共有1个答案

颜骁
2023-03-14

在连接到MySQL和所涉及的列中,您需要UTF8MB4,而不是UTF8

更多python提示:http://mysql.rjweb.org/doc.php/charcoll#python(除了使用UTF8MB4代替UTF8.UTF-8,不应更改。)

这里可以找到更详细的解释。

 类似资料: