Показать сообщение отдельно
Старый 27.06.2005, 13:41     # 17
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Всем хай! Возникли непонятки с кодировками в mySQL и решил поднять тему.

Итак... Решил я поэкспериментировать с 5-ой версией (раньше жил на 4-ой). Всем абсолютно доволен, но... Возникли напряги с кодировками, а именно: есть там 5 системных переменных character-set-server, -client, -connection, -results и -database. Стартую службу и они устанавливаются в следующие значения: cp1251 - для server и database, latin1 - для client, connection и results. Что, есессно, меня не устраивает, ибо выборки идут криво. Можно, конечно, каждый раз при подключении к серверу насильно устанавливать кодировку ('SET NAMES cp1251;'), но хотелось бы что-бы это происходило автоматом. Отсюда вопрос: как?

Вот мой my.ini (или my мой.ini ) после кучи экспериментов, так и не приведших к нужному результату:
Код:
[client]
default-character-set=cp1251
character-set-connection=cp1251
character-set-client=cp1251
character-set-results=cp1251
port=3306

[mysql]
default-character-set=cp1251

[mysqld]
bind-address=1.1.1.1
port=3306
basedir="_MYSQL_DIR_/"
datadir="_MYSQL_DIR_/Data/"
character-sets-dir="_MYSQL_DIR_/share/charsets/"
character-set-server=cp1251
default-character-set=cp1251
language="_MYSQL_DIR_/share/english/"
default-storage-engine=MYISAM
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=5M
thread_cache=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=4M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=212K
skip-innodb
З.Ы. Ой, сорри, чуть не забыл: версия - 5.0.2-alpha

З.З.Ы. Модерам: кстати поиск по слову "default-character-set" дал кучу тем (кроме этой) с практически идентичными названиями:
Неправильная сортировка русских слов (MySQL)
MYSQL неправильно сортирует алфавитные данные
тсранные проблемы со сменой кодировки в mysql 3.23.5x
Character set, MySQL
Может, стоит объединить?

З.З.З.Ы. Советы сменить default-character-set на предлагать - как видите по конф-файлу уже стоит...

З.З.З.З.Ы. Кстати, обратил только внимание на еще один глюк: по дефолту при коннекте двух разных клиентов устанавливаются разные значения переменных -server и -client:
- latin1 и cp1251 соответственно для mysql.exe;
- сp1251 и latin1 соответственно для sqlyoug4.
Т.е. к одному и тому же серверу два различных клиента подключаются и выдают различные значения системных переменных.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума