ОШИБКА 1115 (42000): неизвестный набор символов: 'utf8mb4' при соединении - PullRequest
0 голосов
/ 14 марта 2019

Я попытался подключиться к базе данных 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, если моя таблица кодируется латиницей?

1 Ответ

3 голосов
/ 14 марта 2019

Поработав некоторое время, я обнаружил, что это касается соединений: 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, то это может вызвать проблемы, но если нет, то это должно сработать!

...