SHOW VARIABLES LIKE 'collation%';
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/
SELECT * FROM `users`;
utf8 – Русский, latin1 – ???
utf8 -Ðо&; latin1 – Русский
Прагма указывает, что код программы написан в кодировке UTF-8. Строковые константы, константные шаблоны в регулярных выражениях и имена переменных будут рассматриваться как строки в UTF-8 кодировке. Прагма utf8 не влияет на работу потоков ввода/вывода
use encoding UTF-8;
Многофункциональная прагма. Позволяет явно указать кодировку в которой написан ваш скрипт, а также вы можете управлять поведением стандартных потоков ввода/вывода (STD{IN|OUT})
Пример: use encoding 'cp1251', STDOUT => 'koi8-r';
use open; (прагма)
Прагма open – это вспогательный интерфейс для определения «уровеней» по умолчанию для всех потоков ввода/вывода.
Пример:
use open IN => :crlf; # из какой кодировки преобразовывать данные из стандартного потока ввода.
use open OUT => ':utf8'; # в какой кодировке интерпретатор должен выводить данные в стандартный поток вывода
use open ':locale'; # в соответствии с установленной в системе локалью
use open ':encoding(cp1251)'; # задать кодировку явно
use open ':std'; # Подпрагма :std сама по себе ни на что не влияет, но в сочетании с подпрагмой :utf8 или :encoding она назначает выбранную кодировку для стандартных файловых манипуляторов (STDIN, STDOUT, STDERR).
use open ':utf8'; # только для файлов
use open qw(:std :utf8); # файлы и STD*
0