Сконвертировал базу данных…
Возникла у меня в голове сегодня бредовая идея переделать всю базу блога в одну кодировку.
С горем пополам это удалось процентов на 90. Полетела начисто кодировка таблицы тегов (стояла там latin_swedish) и при попытке изменить ее на utf все становилось вопросиками. Долго изголялся так и эдак чтобы импортировать все нормально. пришлось пожертвовать таблицей и сменить кодировку принудительно. Также не преобразовалась кодировка базы wordtube — придется тоже ручками править. Как все доведу до ума опишу что делал…
Но самое главное заработало наконец : регистронезависимый поиск :)
Итак, что же я сделал для преобразования:
- сделал дамп базы из phpmyadmin
- сделал дамп базы из wordpress (отметив галками дополнительные таблицы)
- удалил все таблицы с кодировкой latin1_swedish_ci из базы блога, КРОМЕ таблиц плагинов wordtube и simpletagging (они остались в старой кодировке). Почему — см.далее
- открыл в текстовом UTF8-редакторе дамп, сделанный в wordpress. Заменил все слова latin1 на utf8
- импортировал в phpmyadmin этот измененный дамп. При импорте ошибок не выдало.
- открыл блог. Увидел что ругается на таблицу тегов. Зашел в phpmyadmin и очистил таблицу тегов, а также выставил везде кодировку соттветствия utf8_general_ci
- таблицы тегов и плагина wordube присутствовали в дампе вордпресса, НО почему то не импортировались вместе со всем блогом. Открыл в текстовом UTF8-редакторе повторно переделанный дамп базы и нашел там куски где создается таблица тегов и мультимедиа-файлов. сохранил в отдельный текстовый фал и его импортировал. все стало нормально.
что удивительно, вроде бы оба дампа в кодировке utf-8, но в дампе phpmyadmin’а русские символы выглядели так:
Раздобыл диÑк Ñ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼Ð¸ видеоклипами Moby! Кайфую по полной! Вот один из клипов, ранее его не видел еще. 11мбайт.
а в дампе вордпресса так:
Раздобыл диск с лучшими видеоклипами Moby! Кайфую по полной! Вот один из клипов
UPDATE 2007-11-06
вот еще вариант если у вас такие же кракозябры, но в базе вроде бы написано уже utf8_general_ci
1. надо было поставить оригинальный вп231(или изтой ветки что у вас сейчас стоит)
2. в вп-конфиг (от оригинального вп231(или изтой ветки что у вас сейчас стоит)) закоментировать строку define(‘DB_CHARSET’, ‘utf8’);
3. блог бы открылся почти нормально на 99%
4. поставить плагин wp-db-backup и ИЗ НЕГО сделать дамп базы
5. убить таблицы в базе
6. вернуть на место строку define(‘DB_CHARSET’, ‘utf8’);
7. залить новый дам сделанный из админки через phpmyadmin
все
после этого база будет правильная и будет работать с обеими сборками как maxsite.org так и оригинальной
Связанные записи
7 комментариев на запись “Сконвертировал базу данных…”
А я поступил до ужаса тупо, но сработало :). В текстовом файле дампа после каждой таблицы заменил latin1 на utf-8, после чего опять загрузил дамп в базу (которая, конечно должна быт в utf8) и все заработало, ничего не перекосилось и не потерлось.
я тоже так поступил, НО частично, т.к. мой случай был посложнее. скоро допишу как все было :)
добавил в запись: описал все что делал с базой
Обновил статью — может пригодится кому
А никто не подскажет как или каким редактором можно перекодировать символы в дампе вида РЅРѕРѕР±СЂР в нормальный читаемый русский?
воспользуйтесь редактором http://lecactus.ru/2007/06/19/465/
Ты — лучший! :) Уже казалось, что все базы вывел из рискового состояния, но вот сегодня опять довелось бороться с наследием (плюс эксплойтом). Вроде справился.