首页 > 解决方案 > “不正确的字符串值”,但可以使用 UTF-8 解码

问题描述

我是 MySQL 新手,正在将文本数据写入数据库并收到此错误:

mysql.connector.errors.DatabaseError: 1366 (HY000): Incorrect string value: '\xCC\xB5#821...' for column 'column' at row 1

但是当我在 Python 中解码该文本时,它不会引发任何错误:

In: b'\xCC\xB5#821...'.decode('utf-8')
Out: '̵#821...'

这个答案似乎表明此代码会引发错误,但事实并非如此。我错过了什么?

标签: pythonmysql

解决方案


我不知道默认字符集实际上不是 UTF-8。使用ALTER TABLE <table> CONVERT TO CHARACTER SET utf8mb4,如其他答案所示,解决了问题。


推荐阅读