Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Кодировка в MySQL

Перенёс сайт на новый хостинг  и получил проблему в кодировке MySQL.
Полез копаться в базу через phpMyAdmin. Везде кодировки стоят правильные. Думал, может создал базы как–то не так?
И вот, перекапывая  phpMyAdmin в поисках проблемы, обнаружил в самом низу перечня таблиц интересную 
строчку.  Там было количество таблиц, количество записей, сколько оно всё места занимает и всё такое. Среди 
прочего там было написано «latin1_swedish_ci». Что означает кодировку по–умолчанию, не UTF-8 («utf8_general_ci»),
как положено, а iso-8859-1 («latin1_swedish_ci»), что приводит к полному отсутствию кириллицы и замене её на 
знаки вопроса.
Лечится проблема элементарно:
ALTER DATABASE `ваша_база` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
Либо через phpMyAdmin: «Операции» > «Сравнения» , из выпадающего списка выбрать нужное — utf8_general_ci.
Всё. Теперь вновь созданные записи будут в правильной кодировке.