Я пытался реализовать смайлики в таблице. Я изменил сортировку столбцов на utf8mb4_unicode_ci, а остальные параметры сортировки столбцов пусты, но когда я пытаюсь запросить это. Я получаю такую ошибку
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation '=' (SQL: select count(*) as aggregate from
qa_defect_commentswheredefect_id= 2957 andlogged_user_id= 2 andcomments= ??)
Можем ли мы установить сопоставление во время запроса данных?
РЕДАКТИРОВАТЬ- ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ qa_defect_comments
CREATE TABLE `qa_defect_comments` (
`comments_id` int(11) NOT NULL AUTO_INCREMENT,
`defect_id` int(11) NOT NULL,
`project_id` int(11) NOT NULL,
`comments` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
`logged_user_id` int(11) NOT NULL,
`assign_user_id` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
`created_time` datetime NOT NULL,
PRIMARY KEY (`comments_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1793 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC
ПОКАЗАТЬ ПЕРЕМЕННЫЕ, КАК char%;
character_set_client - utf8mb4
character_set_connection - utf8mb4
character_set_database - latin1
character_set_filesystem - binary
character_set_results - utf8mb4
character_set_server - latin1
character_set_system - utf8
character_sets_dir - /usr/share/percona-server/charsets/
ПОКАЗАТЬ ПЕРЕМЕННЫЕ, КАК "coll%";
collation_connection - utf8mb4_unicode_ci
collation_database - latin1_swedish_ci
collation_server - latin1_swedish_ci
Я отредактировал и добавил запрошенные данные - @RickJames






Проверьте config/database.php. Я думаю, вы найдете utf8 в одном или двух местах, где у вас должен быть utf8mb4.
'mysql' => [..., 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', ...]
Есть ли способ не изменять файлы конфигурации и по-прежнему иметь возможность это сделать?
Сразу после подключения используйте SET NAMES utf8mb4. Если ему тоже нужна сортировка; см. руководство, чтобы узнать, как это указать.
Я тоже столкнулся с той же проблемой. Я решил это:
Очистил кеш конфигурации laravel:
php artisan config:cache
SHOW CREATE TABLE qa_defect_commentsиSHOW VARIABLES LIKE 'char%';иSHOW VARIABLES LIKE 'coll%';