Проблемы с кодировками при обновлении mysql

Проблемы с кодировками при обновлении mysql

от Ivan Belotelov -
Количество ответов: 6
Уважаемые коллеги!
При  импорте базы на обновлённом сервере все русские символы из БД  отображаются вопросами.  Подробности тут.

Буду  признателен за помощь. 
В ответ на Ivan Belotelov

Re: Проблемы с кодировками при обновлении mysql

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
Попробуйте изменить кодировку соединения, может быть поможет.
[mysqld]
default-character-set           = cp1251
init-connect="SET NAMES cp1251"


В ответ на Ivan Belotelov

Re: Проблемы с кодировками при обновлении mysql

от Алексей Карпенко -
Проще не возится с кодировками бд и moodle, себе дороже грущу

Проще преобразуйте backup базы, или если старая база еще есть сделайте backup в UTF-8


В ответ на Ivan Belotelov

Re: Проблемы с кодировками при обновлении mysql

от Aliaksandr Shvayakou -
Не совсем понятна ситуация из реплики.
Если произошло обновление mysql на версию 4.1 или новее, то временно может помочь совет Alex Djachenko
Если обновился moodle, то напротив совет Alex Djachenko вреден и будет вызывать дополнительные проблемы (было у меня такое), в этом случае /etc/my.conf пусть будет как есть по умолчанию c utf8, а перенос курса будет довольно неприятным, но от этого никуда....
Архивы курсов созданные в moodle-1.5 нужно востанавливать в соответствующей версии moodle и затем выполнять обновление moodle.
  1. До выполнения всех манипуляций делаем свежий бекап всего - курсов, баз данных(mysqldump), каталогов moodle, moodledata (они могут у вас по разному называться). Как говорится - "бекап спасет мир" улыбаюсь
  2. Поставте еще один moodle-1.5 для этого в отдельный каталог и отдельную базу заведите.
  3. Востановите курс из архивной копии.
  4. Обновите эту установку moodle до версии 1.6 или поменяйте местами каталоги. Только смотрите чтобы в конфиге была прописана правильная база и соотвествующие пути. Можно запутаться.
  5. Входите с именем админа. При входе в административный модуль будет предложено обновить базу.
  6. Ждем когда отработает скрипт обновления. При этом он переколбасит кодировку в базе данных. Если он обламывается, в php.ini  найдите параметр определяющий timeout работы скрипта, на время обновления его можно увеличить в несколько раз. Потом верните назад, иначе нехорошие люди смогут подвешивать вам сервер.
  7. Включите использование кодировки ru_utf8 и локали ru_RU.UTF-8
  8. Убедитесь, что все компоненты курса отображаются нормально. У меня где то был SCORM курс и отображался кракозябами после этих операций, я вошел в режиме редактирования и пересохранил его, все стало нормально.
  9. Теперь можно сделать бекап этого курса и переносить его на рабочий moodle-1.6
В ответ на Ivan Belotelov

default-character-set=cp1251 или какой нужен (+)

от Max Kholopov -
выставил у себя в my.cnf - помогло. У меня тестовый сервер под win, но под unix IMHO будет нечто подобное.
В ответ на Max Kholopov

Re: default-character-set=cp1251 или какой нужен (+)

от Dmitry Pupinin -
Я думаю лучше всего поступить так: перед апгрейдом Мускула нужно сделать дамп базы данных в текстовый файл, а потом из файла востановить базу после апгрейда.
В ответ на Dmitry Pupinin

Не помогает, я сталкивался именно с этим(+)

от Max Kholopov -
дело было в настройках самого сервера MyQSL.
Т.е. я задампил свой сайт (под Linux работает) и решил создать его копию у себя на машине под Win. Дамп проглотился, PHPMyAdmin все просматривает, а в мускуле-только вопросики. Пока настройки MySQL не поправил, ничего не помогало грущу Много времени потерял.