MySQL и русский язык

При использовании MySQL версии 4.1 и выше возникают трудности с поддержкой русского языка. Чтобы их разрешить, сделайте следующее:

1. Выполните команду

ALTER DATABASE имя_базы CHARSET cp1251;

2. Посмотрите, что вернёт команда

SHOW VARIABLES LIKE ‘character_set_%’;

Если character_set_server и character_set_client равно cp1251, то больше никаких действий не нужно. Иначе следует сделать следующее:
Содержание
[убрать]

1 Вариант 1: Настройка сервера MySQL
2 Вариант 2: lua-скрипт
3 Вариант 3: исправить кодировку в исходниках
4 Вариант 4: патч для поддержки опции db_charset

Вариант 1: Настройка сервера MySQL

Задаем кодировку в настройках mysql сервера (как правило файл с настройками – /etc/my.cnf или /etc/mysql/my.cnf)

[mysqld]
#Кодировка, в которой содержаться данные в таблицах
default-character-set=cp1251

[client]
#Кодировка по умолчанию для подключающихся клиентов
default-character-set=cp1251

подробнее о кодировке в mysql можно прочитать тут, о файле my.cnf – здесь.

Этот вариант не подходит, если нет возможности изменить конфигурацию сервера MySQL или сервер используется совместно с другими программами, которым такие изменения помешают.
From Splint: Мне помог такой вариант секции

[mysqld]
default-character-set=cp1251
skip-character-set-client-handshake

From Kompik: От себя добавлю что таблицы должны по комманде

SHOW CREATE TABLE SetupList

Выдавать DEFAULT CHARSET=cp1251

После этого в VerliHub`e все будет нормально отображаться, без этого у меня неверно отображалось имя Security бота.

From InGan: От себя добавлю. мне только помог этот вариант с изменением кодировки работы мускула по умолчанию в FreeBSD у провайдера FirstVDS и не забудьте рестартовать свой сервер, почемуто рестарт мускула не помог.

Comments are closed.