Конвертировать базу в UTF8 частично

Доброго времени суток!

Есть база MySQL, несколько таблиц. Раньше скрипт по крону парсил некоторые данные и писал их в базу как есть — в cp1251. Позже переделали скрипт, теперь он перед записью перегоняет текст в utf-8. Собственно, сейчас база в таком состоянии, что половина базы в utf-8 и отображается нормально, а старые записи в cp1251.

Может кто подскажет, как можно конвертировать старые записи из cp1251 в utf-8?
  • Вопрос задан
  • 4372 просмотра
Пригласить эксперта
Ответы на вопрос 3
Alukardd
@Alukardd
Мде, ну видимо в 3 этапа:
1 — выгрузить данные до определённого момента, например по дате. Можно тем же mysqldump, а потом отрезать часть файла таблицы;
2 — переконвертировать в utf-8, тем же iconv;
3 — проапдейтить таблицу. Либо по записи через SQL UPDATE, либо слить обратно в файл таблицы и его целиком загнать в базу. 2-ой вариант возможен только если эта таблица постоянно не меняется, т.е. можно её на минутку заморозить.
Ответ написан
@Richard_Ferlow
Веб-программист
Может через Sypex Dumper попробовать? после экспорта сделать импорт указав кодировку и поставив чекбокс — коррекция кодировки? Не уверен, однако неправильные кодировки я так лечил
Ответ написан
KEKSOV
@KEKSOV
В одном проекте нужно было решить аналогичную задачу, помогло выражение:
ALTER TABLE CONVERT TO CHARACTER SET utf8;

На счет спец символов ничего сказать не могу, у меня они не встречались…
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы