1300, "无效的 utf8mb4 字符串:'\\xE2\\x96\\x88\\xE2\\x96\\x88
Posted
技术标签:
【中文标题】1300, "无效的 utf8mb4 字符串:\'\\\\xE2\\\\x96\\\\x88\\\\xE2\\\\x96\\\\x88【英文标题】:1300, "Invalid utf8mb4 character string: '\\xE2\\x96\\x88\\xE2\\x96\\x881300, "无效的 utf8mb4 字符串:'\\xE2\\x96\\x88\\xE2\\x96\\x88 【发布时间】:2018-06-18 02:55:26 【问题描述】:我在 charset 和 db 列中设置了 utf8mb4
,但在使用 pymysql
存储信息时出现此警告。在每次 INSERT 之前,我都会执行以下操作:
cursor.execute('SET NAMES utf8mb4')
cursor.execute('SET CHARACTER SET utf8mb4')
它会停止查询,但会发出警告而不插入记录。我该如何解决。连接设置如下:
connection = pymysql.connect(host=host,
user=user,
password=password,
db=db_name,
autocommit=True,
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
【问题讨论】:
【参考方案1】:尝试以下方法:
-
对列使用
COLLATE utf8mb4_general_ci
对列使用varchar(size)
数据类型而不是TEXT
读取时不要使用str(column)
,使用x.encode('utf-8')
或decode('utf-8')
【讨论】:
以上是关于1300, "无效的 utf8mb4 字符串:'\\xE2\\x96\\x88\\xE2\\x96\\x88的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 4,Postgres - 在运行教义命令时`参数“client_encoding”的无效值:“utf8mb4”`
SQLAlchemy 报告 BINARY 列的“无效的 utf8mb4 字符串”
将laravel部署到heroku时,参数“client_encoding”的值无效:“utf8mb4”(SQL:从“tablename”中选择*)[关闭]
MySQL phpMyAdmin 无效的 utf8mb4 字符串
如何调试 Etherpad Lite 数据库中 MySQL utf8mb4 列中的无效数据
OperationalError: (2019, ""Can't initialize character set utf8mb4 (path: C:\\mysql\\\\shar