Плохая кодировка MySQL и Phpmyadmin
В предыдущих статьях писал о установке LAMP. Появилась проблема с русскими шрифтами в Mysql. Так, зайдя в phpmyadmin ввел данные в поле таблицы на русском языке сохранил, но вместо русского названия появились вопросы. Решил эту проблему не так быстро. Для начало выполнил такой sql запрос:
SHOW VARIABLES LIKE 'char%';
Вывелось
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
То есть по умолчанию шла какаая то американскаая кодировка latin1
Для исправления сделал следующее:
Открыл файл /etc/mysql/my.cnf
После [mysqld], нужно добавить эти строки:
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake
И еще добавить строки после [mysqldump]:
default-character-set=cp1251
Теперь выполнив запрос SHOW VARIABLES LIKE 'char%'; получилось следующее:
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Перезапустил Mysql:
sudo /etc/init.d/mysql restart
Теперь русские буквы начали отображаться в phpmyadmin нормально. И при проверки скриптом, вывод в браузе, стало отображаться русскими буквами.
