Ошибка phpmysql - # 1273 - # 1273 - Неизвестная сортировка: 'utf8mb4_general_ci'
Я только что установил PhpMyAdmin v4.1.5 только на английском языке
Я установил его для доступа к 2 серверам - локальному на своем ПК и удаленному на моем сервере
Все хорошо для моего локального ПК, но когда я вхожу на свой удаленный сервер, я получаю сообщение
Ошибка
MySQL сказал:
# 1273 - Неизвестная сортировка: 'utf8mb4_general_ci'
Поиск кода PhpMyAdmin находит одну ссылку на это в DatabaseInterface.class.php
if (PMA_MYSQL_INT_VERSION > 50503) {
$default_charset = 'utf8mb4';
$default_collation = 'utf8mb4_general_ci';
} else {
$default_charset = 'utf8';
$default_collation = 'utf8_general_ci';
}
Не знаю, что это такое, но, похоже, неправильно устанавливает кодировку по умолчанию и сопоставление
Ответы
Ответ 1
Это решение сработало для меня
1) Перейдите на вкладку "Экспорт" для базы данных
2) Нажмите переключатель "Пользовательский"
3) Перейдите в раздел "Параметры, специфичные для формата", и измените раскрывающееся меню "Система баз данных или старый сервер MySQL для максимизации совместимости вывода с:" от NONE до MYSQL40.
4) Прокрутите страницу вниз и нажмите "GO".
Если это связано с wordpress, больше информации о том, почему это происходит.
Ответ 2
Вы можете исправить эту проблему, удалив cookie браузера с самого начала. Я пробовал это, и он отлично работает для меня.
Удаление только файлов cookie:
- удерживайте Ctrl + сдвиг + удаление
- удалите все флажки, за исключением файлов cookie, конечно.
- используйте раскрывающийся список сверху, чтобы выбрать "с начала времени
- удалить данные просмотра.
Ответ 3
Есть два способа исправить это.
Сначала отредактируйте phpMyAdmin/libraries/DatabaseInterface.class.php
Изменить:
if (PMA_MYSQL_INT_VERSION > 50503) {
$default_charset = 'utf8mb4';
$default_collation = 'utf8mb4_general_ci';
} else {
$default_charset = 'utf8';
$default_collation = 'utf8_general_ci';
}
To:
//if (PMA_MYSQL_INT_VERSION > 50503) {
// $default_charset = 'utf8mb4';
// $default_collation = 'utf8mb4_general_ci';
//} else {
$default_charset = 'utf8';
$default_collation = 'utf8_general_ci';
//}
Затем удалите этот файл cookie из своего браузера "pma_collation_connection".
Или удалите все файлы cookie.
Затем перезапустите phpMyAdmin.
(Было бы неплохо, если phpMyAdmin разрешил вам устанавливать кодировку и сортировку на сервер в файле config.inc.php)
Ответ 4
При экспорте используется система совместимости, установленная на MYSQL40
. Работал для меня.
Ответ 5
Я вчера прочитал, что проблема была исправлена для кого-то, когда этот человек очистил файлы cookie. Я пробовал это, но это не сработало для меня.
Проверка следующего раздела в DatabaseInterface.class.php,
define(
'PMA_MYSQL_INT_VERSION',
PMA_Util::cacheGet('PMA_MYSQL_INT_VERSION', true)
);
Я понял, что проблема в кеше - проблема. Итак, я помнил, что я перезапускал службу вместо выполнения start
и stop
.
# restart the service
systemd restart php-fpm
# start and stop the service
systemd stop php-fpm
systemd start php-fpm
Выполнение stop
, за которым следует start
, устранило проблему для меня.
Ответ 6
Является ли ваш сервер MySQL версией 5.5.3 или выше?
В MySQL 5.5.3 были добавлены набор символов utf8mb4, utf16 и utf32.
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-sets.html