错误 1115 (42000):未知字符集:'utf8mb4' 连接
ERROR 1115 (42000): Unknown character set: 'utf8mb4' on connection
我尝试使用 mysql 连接器 python 连接到 mysql 数据库。我的 table 是拉丁编码的。我或多或少从文档中尝试过这个:
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'
如果我的 table 是拉丁编码的,为什么它会找到 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
那么这可能会导致问题,但如果不是,那么这应该可行!
在创建连接对象时使用 charset="utf8"
。
myconn = mysql.connector.connect(host="localhost", user="root", passwd="user", database="user_db", charset="utf8" )
对我有用。
我尝试使用 mysql 连接器 python 连接到 mysql 数据库。我的 table 是拉丁编码的。我或多或少从文档中尝试过这个:
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'
如果我的 table 是拉丁编码的,为什么它会找到 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
那么这可能会导致问题,但如果不是,那么这应该可行!
在创建连接对象时使用 charset="utf8"
。
myconn = mysql.connector.connect(host="localhost", user="root", passwd="user", database="user_db", charset="utf8" )
对我有用。