Hostenko — лучший WordPress-хостинг

Сконвертировал базу данных…

Возникла у меня в голове сегодня бредовая идея переделать всю базу блога в одну кодировку.

С горем пополам это удалось процентов на 90. Полетела начисто кодировка таблицы тегов (стояла там latin_swedish) и при попытке изменить ее на utf все становилось вопросиками. Долго изголялся так и эдак чтобы импортировать все нормально. пришлось пожертвовать таблицей и сменить кодировку принудительно. Также не преобразовалась кодировка базы wordtube – придется тоже ручками править. Как все доведу до ума опишу что делал…

Но самое главное заработало наконец : регистронезависимый поиск :)

Итак, что же я сделал для преобразования:

  1. сделал дамп базы из phpmyadmin
  2. сделал дамп базы из wordpress (отметив галками дополнительные таблицы)
  3. удалил все таблицы с кодировкой latin1_swedish_ci из базы блога, КРОМЕ таблиц плагинов wordtube и simpletagging (они остались в старой кодировке). Почему - см.далее
  4. открыл в текстовом UTF8-редакторе дамп, сделанный в wordpress. Заменил все слова latin1 на utf8
  5. импортировал в phpmyadmin этот измененный дамп. При импорте ошибок не выдало.
  6. открыл блог. Увидел что ругается на таблицу тегов. Зашел в phpmyadmin и очистил таблицу тегов, а также выставил везде кодировку соттветствия utf8_general_ci
  7. таблицы тегов и плагина 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 комментариев

  1. 1 Flake 28 июля 2007 в 12:15 (GMT+6)

    А я поступил до ужаса тупо, но сработало :). В текстовом файле дампа после каждой таблицы заменил latin1 на utf-8, после чего опять загрузил дамп в базу (которая, конечно должна быт в utf8) и все заработало, ничего не перекосилось и не потерлось.


  2. 2 Lecactus 28 июля 2007 в 15:05 (GMT+6)

    я тоже так поступил, НО частично, т.к. мой случай был посложнее. скоро допишу как все было :)


  3. 3 Lecactus 30 июля 2007 в 11:39 (GMT+6)

    добавил в запись: описал все что делал с базой


  4. 4 Lecactus 6 ноября 2007 в 22:03 (GMT+6)

    Обновил статью – может пригодится кому


  5. 5 Fist 4 декабря 2007 в 22:48 (GMT+6)

    А никто не подскажет как или каким редактором можно перекодировать символы в дампе вида РЅРѕРѕР±СЂР в нормальный читаемый русский?


  6. 6 Lecactus 4 декабря 2007 в 22:56 (GMT+6)

    А никто не подскажет как или каким редактором можно перекодировать символы в дампе вида РЅРѕРѕР±СЂР в нормальный читаемый русский?

    воспользуйтесь редактором http://lecactus.ru/2007/06/19/465/


  7. 7 В Иванов 3 декабря 2008 в 10:06 (GMT+6)

    Ты — лучший! :) Уже казалось, что все базы вывел из рискового состояния, но вот сегодня опять довелось бороться с наследием (плюс эксплойтом). Вроде справился.


Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

 Имя (обязательно)  EMAIL (обязательно)  АДРЕС ЛИЧНОГО БЛОГА

Вы соглашаетесь с правилами


При добавлении HTML|CSS|JS|PHP кода в комментарий, оформляйте его через кнопку КОД

 

Получать комментарии по RSS Адрес трэкбека