Проблемы с кодировкой
- В базе данных русские буквы сохраняются как ?? или d23k23j23
- В системе данные выводятся в разной кодировке ??? или ÐовоÑ
Советы и решения:
Посмотреть какая кодировка в mysql:
SHOW VARIABLES LIKE 'character%'
SHOW GLOBAL VARIABLES LIKE 'char%'
Изменить кодировку:
- set names utf8;
- при создании таблиц …DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
НЕ помогают
3. Добавить в файл my.cnf в секцию [mysqld] следующий код:
skip-character-set-client-handshake
default-character-set=utf8
init-connect=’SET NAMES utf8?'
default-collation=utf8_general_ci
Перезагрузим сервер
My Sql?:
/etc/init.d/mysql restart
После этого список переменных будет выглядеть так:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
посмотреть кракозябры в базе:
SET NAMES latin1;
SELECT * FROM `users`;
utf8 – Русский, latin1 –
???
utf8 -Ðо&; latin1 – Русский