错误1115(42000):未知字符集:连接时为'utf8mb4'

时间:2019-03-14 00:05:57

标签: mysql mysql-python

我尝试使用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

2 个答案:

答案 0 :(得分:1)

搜索了一会儿之后,我发现了关于连接的问题: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,则可能会引起问题,但如果没有,则应该起作用!

答案 1 :(得分:1)

在创建连接对象时使用charset="utf8"

myconn = mysql.connector.connect(host="localhost", user="root", passwd="user", database="user_db", charset="utf8" )

对我有用。