Проблема с utf8mb4_unicode_ci


Во время восстановления дампа базы mysql выскакивает вот такая ошибка:

ERROR 1273 (HY000) at line ###: Unknown collation: 'utf8mb4_unicode_ci'
ERROR 1115 (42000) at line ###: Unknown character set: 'utf8mb4'

Для корректного восстановления нужно немного подредактировать дамп, который собираетесь восстановить, а именно заменить utf8mb4_unicode_ci на utf8_general_ci.

В среде bash очень удобно воспользоваться sed:

sed -i 's/CHARSET=utf8mb4\ COLLATE\=utf8mb4_unicode_ci/CHARSET=utf8\ COLLATE=utf8_general_ci/g' имя_базы.sql
sed -i 's/COLLATE\ utf8mb4_unicode_ci/COLLATE\ utf8_general_ci/g' имя_базы.sql
sed -i 's/CHARACTER\ SET\ utf8mb4\ COLLATE\ utf8mb4_bin/CHARACTER\ SET\ utf8\ COLLATE\ utf8_general_ci/g' имя_базы.sql

После этого можно спокойно восстанавливать базу.

Share Button
(Visited 833 times, 1 visits today)

2 комментария на «“Проблема с utf8mb4_unicode_ci”»

    • Режим совместимости не всегда доступен (например кастомизированый phpmyadmin может не иметь такой опции). Особенно если Вам предоставляют дамп базы и ее нужно импортировать.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.