экспорт базы из старой версии mysql 3.23.54

AJtoxic

Новичок
экспорт базы из старой версии mysql 3.23.54

Имеется форум phpBB 2. работает на стареньком RedHat, версия Mysql - 3.23.54, кодировка по умолчанию - latin1. в форуме общались по-русски, с отображением кирилицы проблем нет. Вопрос как теперь эту базу перенести на более новую версию MySQL? При процедуре backup/restore через MySQL Administrator, при ресторе запрашивается кодировка. При выборе latin1 ругается на одинаковые ключи, при выборе utf или cp1251 восстанавливает абракадабру.
 

DiMA

php.spb.ru
Команда форума
скинь текстовый дамп
в тексте latin1 на windows-1251 замени (или утф+перекодировка)
импортируй дамп
 

Фанат

oncle terrible
Команда форума
только не заменить, а дописать. трешка, вроде, таблицам вообще кодировку не ставит

можно, впрочем, и без дописывания: http://www.phpfaq.ru/charset
впрочем, как все это пишется в интерфейсе всяких говнотулсов - вопрос не ко мне.
 

vovanium

Новичок
AJtoxic
Сделай бэкап в Sypex Dumper Lite, в новой базе установи кодировку cp1251 (чтобы создаваемые таблицы были в кодировке cp1251), после чего восстанавливай дампером.
 

brook73

Новичок
В 3.23.54 есть mysqldump? Тогда вам нужно сделать вот что -

mysqldump --default-charset-set=ваша новая кодировка.

Вот так примерно
 

Фанат

oncle terrible
Команда форума
В 3.23.54 есть mysqldump
В нету --default-charset-set
и это очевидно, если подумать

и это не поможет все равно
 

vovanium

Новичок
brook73
у него проблема в том что при восстановлении у создаваемых таблиц выставляется кодировка latin1, а данные у него в cp1251. Т.е. всего-то нужно установить кодировку для базы (либо можно прописать в каждой таблице кодировку, но это геморнее), и потом восстановить данные с кодировкой соединения cp1251.
 

AJtoxic

Новичок
я как раз думаю что в базе лежит не cp1251, потому как если бы это было так, то при восстановлении базы в MySQL 5.x и выборе соответствующей кодировки я бы получил русский в базе, а я получаю тарабарщину.

в общем воспользовался прогой sypex dumper. в настройках указал forced cp1251 и все вышло на ура. Всем спасибо, проблема решена.
 

vovanium

Новичок
AJtoxic
то при восстановлении базы в MySQL 5.x и выборе соответствующей кодировки я бы получил русский в базе, а я получаю тарабарщину
Не получил бы, так как по умолчанию таблицы создавались в latin1, и если ты при восстановлении выбирал latin1, то получал дублирующиеся ключи (т.к. в latin1 другие таблицы сравнения), а если ставил кодировку соединения не latin1, то MySQL пытался конвертить данные в latin1, в итоге ничего читаемого не получал.
 
Сверху