У меня хранимая процедура выглядит так:
CREATE PROCEDURE `test`(
IN inTag varchar(767) -- Hashtag
)
BEGIN
SET NAMES 'utf8mb4';
INSERT INTO test_table (s)
VALUES (inTag);
END
Я пытаюсь вызвать:
call registration.HT_test('fanart?');
но он возвращается
warning 1300 Invalid utf8mb4 character string: 'fanart...' 1366 Incorrect string value: '\xF0\x9F\x8E\xA8'.
Думаю, проблема в параметре, но я не знаю, как это исправить.
Мой проект использует NodeJS и отправляет данные в хранимую процедуру MySQL. Пожалуйста, посоветуйте мне, как я могу решить эту проблему?






Вам необходимо определить набор символов для аргумента:
CREATE PROCEDURE `test`(
IN inTag varchar(767) CHARACTER SET utf8mb4
)
BEGIN
INSERT INTO test_table (s)
VALUES (inTag);
END