У меня есть веб-сайт 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