2017-02-22 9 views
38

У меня есть сайт WordPress на моем местном WAMP сервер. Но когда я загружаю свою базу данных на живой сервер, я получаю ошибку# 1273 - Неизвестная сортировка: 'utf8mb4_unicode_520_ci'

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’ 

Любая помощь будет оценена!

+3

'СЭД -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/г' file.sql' –

+1

Благодаря @NabilKadimi –

ответ

39

Вы можете решить эту проблему, находя

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; 

в файле .sql, и замены его с

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; 
+6

Я рекомендую ответ на Сабба (https://stackoverflow.com/a/44122258/168309), как она сохраняет utf8mb4 – Amir

+2

Решение ниже @Sabba Keynejad лучше, на мой взгляд, так как оно поддерживает mb4, вы должны попробовать это в первую очередь. –

87

Я считаю, вызвана эта ошибка, потому что локальный сервер и живой сервер работают разные версии MySQL. Для того, чтобы решить эту проблему:

  1. Откройте SQL файл в текстовом редакторе
  2. Найти и заменить все utf8mb4_unicode_520_ci с utf8mb4_unicode_ci
  3. Сохранить и загрузить свежую БД MySQL

Надежда что помогает

+1

Работает для меня! Простой - если у вас достаточно небольшая база данных. Благодаря! –

+0

** НЕТ НЕТ !!! ** Было широко документировано, что 'utf8mb4_unicode_520_ci' имеет * намного лучшую поддержку UTF-8, чем' utf8mb4_unicode_ci'! Соус: http://mysql.rjweb.org/doc.php/charcoll#best_practice с визуальным разъяснением, подтверждающий, что 520_ci здесь превосходен: http://mysql.rjweb.org/utf8_collations.html – John

+0

этот ответ только помог мне сейчас. Большое спасибо – brotherperes

11

В моем случае это получается
новый сервер был запущен 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 файл.

+1

Настоящий ответ прямо здесь. – Kaji

2

просто удалить "520_"
utf8mb4_unicode_520_ciutf8mb4_unicode_ci

0

Откройте файл SQL в текстовом редакторе;

1. Поиск: utf8mb4_unicode_ci Заменить: utf8_general_ci (Заменить все)

2.Поиск: utf8mb4_unicode_520_ci Заменить: utf8_general_ci (Заменить все)

3. Поиск: utf8mb4 Заменить: utf8 (Заменить все)

Сохранить и загрузить!