首页 > 解决方案 > 错误 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我的表格是否是拉丁编码的?

标签: mysqlmysql-python

解决方案


搜索了一段时间后,我发现了有关连接的信息: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,那么这可能会导致问题,但如果不是,那么这应该可以!


推荐阅读