mysql - 错误 1115 (42000):未知字符集:连接上的“utf8mb4”
问题描述
我尝试使用 mysql 连接器 python 连接到 mysql 数据库。我的表是拉丁编码的。我或多或少地从文档中尝试了这个:
from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password='password',
host='127.0.0.1',
database='employees')
cnx.close()
但我得到了错误:
ERROR 1115 (42000): Unknown character set: 'utf8mb4'
为什么它会发现utf8mb4
我的表格是否是拉丁编码的?
解决方案
搜索了一段时间后,我发现了有关连接的信息:https ://dev.mysql.com/doc/refman/8.0/en/charset-connection.html这让我开始思考。
我只是尝试将charset
参数添加到我的连接中,如下所示:
cnx = connection.MySQLConnection(user='scott',
password='password',
host='127.0.0.1',
charset='utf8',
database='employees')
https://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html
如果您的角色实际上使用超集utf8mb4
,那么这可能会导致问题,但如果不是,那么这应该可以!
推荐阅读
- c# - 单击时启用按钮
- node.js - 如何从模型获取json并将其传递给控制器?
- python - 如何重置 Spyder 快捷方式
- python - 是否可以在 lambda 函数被杀死并开始冷处理之前拦截终止信号以关闭数据库连接?
- amazon-s3 - S3 存储桶策略仅允许 V4 签名请求
- amazon-web-services - 如何将应用程序代码上传到 AWS Beanstalk
- terminal - tmux:在焦点丢失时自动隐藏窗格
- asp.net-core - 应用程序的异步调用开始返回 Null
- java - 如果我分批发送许多值,如何在插入语句中发送重复值时使用异常处理?
- python - Python ECDSA 相同的公钥(使用 ecdsa.VerifyingKey 生成)不验证