Mysql CHARSET установлен на utf8mb4, но при вставке эмодзи всегда возникает ошибка 1366

Сначала проверьте CHARSET базы данных:

MariaDB [outdoors]> show create database outdoors;

| outdoors | CREATE DATABASE `outdoors` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ |

Затем проверьте таблицу CHARSET:

MariaDB [outdoors]> show create table backend_comment;

| backend_comment | CREATE TABLE `backend_comment` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `geo` varchar(10) DEFAULT NULL,
  `content` varchar(250) NOT NULL,
  `img` varchar(100) DEFAULT NULL,
  `comment_id` int(11) DEFAULT NULL,
  `create_time` datetime(6) NOT NULL,
  `notify_id` bigint(20) NOT NULL,
  `to_id` int(11) DEFAULT NULL,
  `user_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `backend_comment_notify_id_61aef760_fk_backend_notify_id` (`notify_id`),
  KEY `backend_comment_to_id_4dd23479_fk_auth_user_id` (`to_id`),
  KEY `backend_comment_user_id_1ab394ea_fk_auth_user_id` (`user_id`),
  CONSTRAINT `backend_comment_notify_id_61aef760_fk_backend_notify_id` FOREIGN KEY (`notify_id`) REFERENCES `backend_notify` (`id`),
  CONSTRAINT `backend_comment_to_id_4dd23479_fk_auth_user_id` FOREIGN KEY (`to_id`) REFERENCES `auth_user` (`id`),
  CONSTRAINT `backend_comment_user_id_1ab394ea_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |

Тест вставки содержимого эмодзи:

MariaDB [outdoors]> insert into backend_comment 
        (id, content, notify_id, user_id, create_time) 
values (1, 'insert emoji test 😊', 1, 1, NOW());

ОШИБКА 1366 (22007): Неверное значение строки: '\xF0\x9F\x98\x8A' для столбца outdoors.backend_comment.content в строке 1

**So what's the problem? help me please 😂**


----------
More information:

Server version: 10.11.8-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04
Вернуться на верх