Сконвертировал базу данных…
Возникла у меня в голове сегодня бредовая идея переделать всю базу блога в одну кодировку.
С горем пополам это удалось процентов на 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 так и оригинальной
Рубрики: Дневник Метки: Wordpress, глюки
Распечатать
Связанные записи
7 комментариев
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!




28 июля 2007 в 12:15 (GMT+6)
А я поступил до ужаса тупо, но сработало :). В текстовом файле дампа после каждой таблицы заменил latin1 на utf-8, после чего опять загрузил дамп в базу (которая, конечно должна быт в utf8) и все заработало, ничего не перекосилось и не потерлось.
28 июля 2007 в 15:05 (GMT+6)
я тоже так поступил, НО частично, т.к. мой случай был посложнее. скоро допишу как все было :)
30 июля 2007 в 11:39 (GMT+6)
добавил в запись: описал все что делал с базой
6 ноября 2007 в 22:03 (GMT+6)
Обновил статью – может пригодится кому
4 декабря 2007 в 22:48 (GMT+6)
А никто не подскажет как или каким редактором можно перекодировать символы в дампе вида РЅРѕРѕР±СЂР в нормальный читаемый русский?
4 декабря 2007 в 22:56 (GMT+6)
воспользуйтесь редактором http://lecactus.ru/2007/06/19/465/
3 декабря 2008 в 10:06 (GMT+6)
Ты — лучший! :) Уже казалось, что все базы вывел из рискового состояния, но вот сегодня опять довелось бороться с наследием (плюс эксплойтом). Вроде справился.