Некорректная строковая ошибка при добавлении эмодзи в базу данных через форму

Я могу успешно добавить emoji (то есть данные utf8mb4) в таблицы, используя mysql, используя терминал.

Когда мой веб-сайт Python Flask пытается отправить emoji в ту же таблицу и поле базы данных, база данных возвращает следующую неверную строковую ошибку:

(1366, «Неверное строковое значение:« \ xF0 \ x9F \ x98 \ x8E »для столбца« p_description »в строке 1»)

ОБНОВИТЬ

Я прочитал предложенные темы и не вижу, как заблокировать сервер от переопределения моей локальной настройки набора символов сервера.Добавлены SET NAMES utf8mb4; перед INSERT INTO, но без эффектаЯ проверил, как предложено в комментариях (спасибо!), И да, все настройки символов моей базы данных показывают utf8mb4, где это возможно. Вот что я получаю из mysql:

mysql> ПОКАЗАТЬ ПЕРЕМЕННЫЕ ГДЕ Variable_name LIKE 'character_set_%' ИЛИ ​​Variable_name LIKE 'collation%';

=>

| Переменное_имя | Значение |

| character_set_client | utf8mb4 |

| character_set_connection | utf8mb4 |

| набор персонажей | utf8mb4 |

| character_set_filesystem | двоичный |

| character_set_results | utf8mb4 |

| character_set_server | utf8mb4 |

| character_set_system | utf8 |

| collation_connection | utf8mb4_unicode_ci |

| collation_database | utf8mb4_unicode_ci |

| collation_server | utf8mb4_unicode_ci |

10 рядов в наборе (0,00 сек)

Я использую html-форму, jQuery, AJAX и Python Flask для отправки данных в базу данных. Python вызывает хранимую процедуру SQL ниже.

Хранимая процедура:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_addWish`(
    IN p_title varchar(45),
    IN p_description varchar(1000),
    IN p_user_id bigint
)
BEGIN
    SET NAMES utf8mb4; insert into tbl_wish(
        wish_title,
        wish_description,
        wish_user_id,
        wish_date
    )
    values
    (
        p_title,
        p_description,
        p_user_id,
        NOW()
    );
END

** В: Как заставить мой веб-сайт отправлять данные в мою базу данных в формате utf8mb4?

Ответы на вопрос(3)

Ваш ответ на вопрос