У меня есть веб-сайт WordPress на моем локальном сервере WAMP . Но когда я загружаю свою базу данных на работающий сервер, я получаю сообщение об ошибке
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Любая помощь будет оценена!
У меня есть веб-сайт WordPress на моем локальном сервере WAMP . Но когда я загружаю свою базу данных на работающий сервер, я получаю сообщение об ошибке
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Любая помощь будет оценена!
Ответы:
Вы можете решить это, найдя
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
в вашем .sql
файле, и поменять его
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'
я заменил utf8mb4_unicode_520_ci
на, utf8mb4_unicode_ci
и это работает, согласно ответу Саббы.
Я считаю, что эта ошибка вызвана тем, что локальный сервер и живой сервер работают под разными версиями MySQL. Чтобы решить это:
utf8mb4_unicode_520_ci
наutf8mb4_unicode_ci
надеюсь, это поможет
utf8mb4_unicode_520_ci
имеет гораздо лучшую поддержку UTF-8 , чем utf8mb4_unicode_ci
! Соус: mysql.rjweb.org/doc.php/charcoll#best_practice с визуальным уточнением, подтверждающий, что 520_ci здесь превосходно: mysql.rjweb.org/utf8_collations.html
В моем случае оказывается, что мой
новый сервер работал MySQL 5.5
,
старый сервер работал MySQL 5.6
.
Таким образом, я получил эту ошибку при попытке импортировать .sql
файл, который я экспортировал со своего старого сервера.
MySQL 5.5 не поддерживает utf8mb4_unicode_520_ci
, но
MySQL 5.6 поддерживает.
Обновление до MySQL 5.6
нового сервера решило проблему сортировки!
Если вы хотите сохранить MySQL 5.5, вы можете:
- сделать копию экспортированного .sql
файла
- заменить экземпляры utf8mb4unicode520_ci
и utf8mb4_unicode_520_ci
... на utf8mb4_unicode_ci
- импортировать обновленный .sql
файл.
Откройте файл sql в вашем текстовом редакторе;
1. Поиск: utf8mb4_unicode_ci Заменить: utf8_general_ci (Заменить все)
2. Поиск: utf8mb4_unicode_520_ci Заменить: utf8_general_ci (Заменить все)
3. Поиск: utf8mb4 Заменить: utf8 (Заменить все)
Сохранить и загрузить!
просто удалите "520_"
utf8mb4_unicode_520_ci
→utf8mb4_unicode_ci
Я просто открыл файл dump.sql в Notepad ++ и нажал CTRL + H, чтобы найти и заменить строку « utf8mb4_0900_ai_ci » и заменил ее на « utf8mb4_general_ci ». Ссылка на источник https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
найти и заменить:
utf8mb4_unicode_520_ci
с участием
utf8_general_ci
в целом файл sql
general
и utf8
оба шага назад.
Поздно на вечеринку, но в случае, если это происходит с WORDPRESS
установкой:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
В phpmyadmin, под export method
> Format-specific options
(пользовательский экспорт)
Установлен в : MYSQL40
Если вы попытаетесь импортировать сейчас, вы можете получить еще одно сообщение об ошибке:
1064 - You have an error in your SQL syntax; .....
Это потому, что старый TYPE
вариант, который был синонимом ENGINE
был удален в MySQL 5.5.
Откройте свой .sql
файл, найдите и замените все экземпляры
от TYPE=
доENGINE=
Теперь импорт должен идти гладко.
Получение ошибки сопоставления # 1273 - Неизвестное сопоставление: 'utf8mb4_unicode_520_ci' вызвано различием версии MySQL, из которой вы экспортируете, и нашего сервера MySQL, на который вы импортируете. По сути, библиотека Wordpress для более новой версии проверяет, на какой версии SQL работает ваш сайт. Если он использует MySQL версии 5.6 или более, он предполагает использование нового и улучшенного алгоритма сопоставления Unicode (UCA), который называется utf8mb4_unicode_520_ci. Это замечательно, если вы не переместите свой сайт WordPress с более новой версии MySQL 5.6 на более старую версию MySQL до 5.6.
Чтобы решить эту проблему, вам нужно либо отредактировать файл экспорта SQL и выполнить поиск и замену, изменив все экземпляры utf8mb4_unicode_520_ci на utf8mb4_unicode_ci. Или следуйте инструкциям ниже, если у вас есть PHPMyAdmin:
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql