Мар 062014
 

Столкнулся сегодня с такой напастью, коряво на сайте отображается кириллица.
Русские буквы отображались вопросами.
Вспомогательный материал, mysql кодировка базы в utf8.
Оказалось что в новых версиях 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

Вот и все.

 Leave a Reply

(required)

(required)

36 Запросов к базе. 0,365 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.225.16.10