Ошибка 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';
}

Понятия не имею, что это такое, но кажется, что он устанавливает кодировку по умолчанию & неправильно сопоставлять

26

Решение

Это решение сработало для меня

1) Нажмите на вкладку «Экспорт» для базы данных

2) Нажмите кнопку «Пользовательский»

3) Перейдите в раздел «Опции, зависящие от формата» и измените раскрывающийся список «Система базы данных или более старый сервер MySQL, чтобы максимизировать совместимость вывода с:» с NONE на MYSQL40.

4) Прокрутите вниз и нажмите «GO».

Если это связано с WordPress, больше информации о том, почему это происходит.

65

Другие решения

Вы можете решить эту проблему, удалив cookie-файл браузера с самого начала. Я попробовал это, и это работает нормально для меня.

Чтобы удалить только куки:

  1. удерживая Ctrl + Shift + Delete
  2. снять все флажки, кроме файлов cookie, конечно
  3. используйте выпадающий сверху, чтобы выбрать «с начала времени
  4. нажмите очистить данные просмотра
27

Есть два шага, чтобы это исправить.

Сначала отредактируйте phpMyAdmin / library / 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';
}

Для того, чтобы:

    //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)

10

При экспорте вы используете систему совместимости, установленную на MYSQL40, Работал на меня.

4

Вчера я читал, что проблема была решена для кого-то, когда этот человек очистил куки. Я попробовал это, но у меня это не сработало.

Проверка следующего раздела в 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 исправил проблему для меня.

3

Ваш сервер MySQL версии 5.5.3 или выше?

Наборы символов utf8mb4, utf16 и utf32 были добавлены в MySQL 5.5.3.

http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-sets.html

0
По вопросам рекламы [email protected]