Мар 062014
Столкнулся сегодня с такой напастью, коряво на сайте отображается кириллица.
Русские буквы отображались вопросами.
Оказалось что в новых версиях mysql по умолчанию кодировка latin1.
Для начало нам нужно настроить сам мускул. Добавим такие строчки в конфигурационный файл mysql.
[client] default-character-set=utf8 [mysqld] character_set_server=utf8 collation_server=utf8_unicode_ci После этого сделаем ребут сервиса mysql.
Если у нас уже создана бд то у нее будет кодировка latin1, меня она не устроила.
Заходим в мускул и меняем кодировку у бд.
# mysql -uroot -p >use my_database; # Смотрим какая кодировка. >show variables like "character_set_database"; | character_set_database | latin1 | # меняем кодировку. alter database `db_name` character set utf8;
Если ругать будет что типа нету прав на редактирование. То значит не судьба. Прийдет скачать бд и заметить кидировку, тоесть заменить слово latin1 на utf8
# mysqldump -uroot -p my_database --allow-keywords --create-options --complete-insert --default-character-set=latin1 --add-drop-table > /root/my_base.sql
меняем кодировку.
# sed 's/latin1/utf8/g' /root/my_base.sql > /tmp/base.sql
После этого заново загрузим бд обратно.
# mysql -u root -p my_database < /tmp/base.sql
Вот и все.