Blog: Alter World

Виртуальный мир является своеобразным Alter Ego мира реального…

Конвертация данных в MySQL

Комментариев нет 17 марта 2013, 19:05 • Без рубрики

Этот блог имеет давнюю историю и, честно говоря, начинал он работать на очень древней версии MySQL. Я точно не помню — это была либо последняя версия из ветки 3 или первая версия ветки 4. Соответственно, исторически сложилось, что хранение данных было в latin1_swedish_ci, что до какого-то момента было не заметно, а потом начало доставлять неприятности. Вот, не далее, как сегодня я в очередной раз нарвался на неприятности из мира latin1 и решил, что хватит — нужно всё исправить.

Погуглив, я нашел очень изящное решение этой проблемы для современных версий MySQL (благо, что у меня достаточно новая версия стоит на сервере). Предварительно сделав резервную копию базы данных этого блога я провёл эксперимент на таблице со статьями и... ничего не поломалось! Теперь у меня БД этого блога в UTF-8 и мне думается, что часть неприятностей (если не все) благополучно сгинула со старой latin1.

Теперь рецепт, который состоит из двух шагов.

1. Установка кодировки базы данных:

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

2. Конвертация данных таблиц в UTF-8:

ALTER TABLE db_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Надеюсь, что этот рецепт пригодится ещё кому-нибудь, а подробности по работе CONVERT () можно узнать здесь.

Ещё заметки на эту тему:

Комментариев нет

Вы можете подписаться на комментарии к этой статье через RSS или отправить к ней TrackBack.

Оставить свое мнение

XHTML: Вы можете использовать эти тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>