Бывает, что при добавлении кириллического текста в таблицу MySQL отображаются кракозябры.
Чтобы посмотреть кодировки по базе данных нужно выбрать базу данных, посмотреть какие кодировки установлены и выполнить одну из следующих команд:
MariaDB [(none)]> use test2;Database changed
MariaDB [test2]> show variables like 'char%';
+--------------------------+----------------------------
| Variable_name | Value
+--------------------------+----------------------------
| 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/
Если нужно поменять значение в какой-то строке, выполните одну из команд или все по очереди. Мне помогло.
SET NAMES UTF8;
SET CHARACTER SET UTF8;
SET collation_connection='utf8_general_ci';
SET collation_database='utf8_general_ci';
SET collation_server='utf8_general_ci';
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_database='utf8';
SET character_set_results='utf8';
SET character_set_server='utf8';
Также необходимо проверить настройки в /etc/my.cnf
в секции клиента:
[client]
default-character-set=utf8
в секции демона:
[mysqld1]
skip-character-set-client-handshake
default-character-set=utf8
init-connect='SET NAMES utf8'
default-collation=utf8_general_ci
Или в файле конфигурации соответствующей базы данных поменять значения:
vi /var/lib/mysql/test2/db.opt
default-character-set=utf8
default-collation=utf8_general_ci
Немає коментарів:
Дописати коментар