бинарная база в mysql

Статус
В этой теме нельзя размещать новые ответы.

Sysfaray

Гуру форума
Регистрация
7 Окт 2007
Сообщения
175
Реакции
88
Подскажите куда копать?

После переезда на другой хостинг, русские символы в phpmyadmin отображаются в виде:

d09ed0bfd0b8d181d0b0d0bdd0b8d0b5
 
У сервера есть выставленное по умолчанию сравнение для таблиц. И особенно, если хостинг забугорный, оно может быть без поддержки символов русского алфавита.
На большинстве российских хостингов "сравнение по умолчанию" выставлено с учетом русских символов.

В PhpMyAdmin сравнение для таблиц видно при просмотре структуры базы данных.

Насколько я понимаю, вы восстанавливали БД из бэкапа.
Пересоздайте базу данных заново с указанием сопоставления.
Если ещё возможно, посмотрите какое сопоставление было на прошлом хостинге.
Если нет возможности, то попробуйте utf8_general_ci
Или есть более новые варианты: utf8mb4_unicode_ci , utf8mb4_unicode_520_ci.

И потом в эту БД выполните восстановление бэкапа.
20464251.png
 
Последнее редактирование:
Благодарю за участие в дискуссии.
Я перепробывал всё вами описанное.

Пробуйте если не сложно


Допустим таблица page после экспорта я так понимаю в бинарном виде.
 
Последнее редактирование:
Похоже понял о чем речь.
У вас текстовые данные хранятся в полях типа varbinary.
Это бинарные данные, поэтому их phpmyadmin и показывает как бинарные.
Главное, чтобы они в скрипте отображались нормально.
Последняя версия phpmyadmin 4.7.7 умеет определять что в бинарной переменной хранятся символьные данные.
Она отображает их правильно.
Может у вас на прошлом хостинге стояла phpmyadmin из последних версий.
Возможно, ещё имеет значение версия libmysql.
 
Последнее редактирование:
Вообщем решилось:

binary заменены на char
varbinary заменены на varchar

ENGINE=InnoDB DEFAULT CHARSET=binary
Заменены на
ENGINE=InnoDB DEFAULT CHARSET=utf8

mediawiki с недавних времён всё читает в utf8 игнорируя параметры.

Спасибо! мб кому-то поможет.
 
Хотел вам предложить изменить типы полей на char и varchar.
Есть одна ремарочка. Нужно помнить, что вы произвели замену.
До 2011 года, у MediaWiki поля и были символьные, а потом они изменили их на бинарные. С благой целью, чтобы не было проблем с сопоставлениями при восстановлении из бэкапов.
Как поведет себя скрипт при обновлениях ?
Резюмируя: способ получить удобство для опытных, новичкам не стоит менять типы полей, можно потом заблудиться.
 
Оставлю пока в utf8. Проявятся глюки, исправим ;)

как сделать backup mediawiki:

 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху