phpMyAdmin отображает поля varchar как отдельные шестнадцатеричные значения в виде таблицы

Я запускаю phpMyAdmin в MAMP-pro и недавно заметил странное поведение, которое началось после обновления до phpMyAdmin 4.1.7. По сути, поля varchar неправильно отображаются при просмотре таблицы или даже результатов запроса, но не при отображении отдельной записи.

Поле продукта представляет собой поле типа varchar и обычно представляет собой что-то вроде «300x250», а не строку шестнадцатеричных значений: enter

Редактирование первой записи дает мне этот экран, который правильно отображает значение: введите здесь описание изображения

Эта проблема началась, когда я обновился до 4.1.7 локально, поэтому я вернулся к 4.0.6, и все снова стало нормально. Однако эти таблицы копируются из другой производственной базы данных. Я экспортирую из рабочей среды с помощью phpMyAdmin, затем удаляю свои локальные таблицы и повторно импортирую их в свой локальный.

Все поля varchar теперь отображаются как строки двузначных шестнадцатеричных значений, но только в тех таблицах, которые я удалил и импортировал. Таблицы, к которым какое-то время не прикасались, по-прежнему отображают правильные значения varchar.

Я никогда не видел этой проблемы до обновления, но теперь это начало происходить на 4.0.6. На производственном сервере используется версия 3.4.10.1, но она не обновлялась в последнее время, поэтому я не думаю, что проблема в этом, поскольку раньше я выполнял этот процесс регулярно, и у меня никогда не было проблем.

Редактировать: После дальнейшего чтения я понял, что проблема заключалась в том, что поля varchar были установлены на utf8_bin и их нужно было изменить на utf8_general_ci. Чего я не понимаю, так это того, что для полей в производственной базе данных установлено значение utf8_bin, и они всегда отображаются правильно, и почему до недавнего времени это не было проблемой.


person Mordred    schedule 17.03.2014    source источник


Ответы (1)


Отредактируйте ./config.inc.php и измените строку

$cfg['Servers'][$i]['extension'] = 'mysql';

to

$cfg['Servers'][$i]['extension'] = 'mysqli';
person user3581933    schedule 28.04.2014