SqlAlchemy (1366, «Неверное строковое значение: '\\ xB4 \\ xEB \\ xC7 \\ xD1 \\ xB9 \\ xCE ...' для столбца 'VARIABLE_VALUE' в строке 484") - PullRequest
0 голосов
/ 02 июня 2018

(1366, "Неверное строковое значение: '\ xB4 \ xEB \ xC7 \ xD1 \ xB9 \ xCE ...' для столбца 'VARIABLE_VALUE' в строке 484")

Эта ошибка возникает всякий раз, когда я пытаюсьвставить строку (для произвольной таблицы) Но у меня нет таблицы, содержащей столбец VARIABLE_VAULE.

SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('VARIABLE_VALUE')
    AND TABLE_SCHEMA='sw';  /* nothing comes up */

Как найти таблицу, которая вызывает предупреждение?

Ответы [ 2 ]

0 голосов
/ 02 июня 2019

Кодировка, используемая для Unicode, традиционно была 'utf8'.Однако для версий MySQL 5.5.3 и выше была введена новая специфичная для MySQL кодировка utf8mb4, а начиная с MySQL 8.0 сервер выдает предупреждение, если в любых директивах на стороне сервера указан обычный utf8, замененный наutf8mb3.Обоснование этой новой кодировки связано с тем, что устаревшая кодировка utf-8 в MySQL поддерживает кодовые точки размером до трех байтов вместо четырех.Поэтому при связи с базой данных MySQL, которая содержит кодовые точки размером более трех байтов, этот новый набор символов предпочтителен, если поддерживается как базой данных, так и клиентским DBAPI, как в:

e = create_engine(
    "mysql+pymysql://scott:tiger@localhost/test?charset=utf8mb4")
All modern DBAPIs should support the utf8mb4 charset.

введите описание ссылки здесь

0 голосов
/ 06 мая 2019

Ошибка возникает из-за того, что вы пытаетесь сохранить эмодзи, используя неправильную кодировку.Измените кодировку с utf8 на utf8mb4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...