[Comm] MySQL: русские буквы считаются одинаковыми

Евгений Косенко =?iso-8859-1?q?eugine=5Fkosenko_=CE=C1_ukr=2Enet?=
Сб Ноя 8 19:47:02 MSK 2003


$ rpm -q MySQL-server
MySQL-server-3.23.56-alt3
$ rpm -q MySQL-client
MySQL-client-3.23.56-alt3
$ mysql
. . .
mysql> create table test (letter char(1) unique);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into test(letter) values ('а');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test(letter) values ('б');
ERROR 1062: Duplicate entry 'б' for key 1
mysql> insert into test(letter) values ('в');
ERROR 1062: Duplicate entry 'в' for key 1
mysql>

Насколько я понимаю, проблема в том, что MySQL не понимает эти буквы как 
разные. Я так и не понял, в чем проблема. Документация к MySQL рекомендует 
перекомпилировать MySQL с определенными флагами, а затем использовать 
специальные флаги при вызове. В свое время в LFS с помощью каких-то плясок с 
бубном я умудрился устранить эту проблему, но сейчас не могу вспомнить, как 
это было сделано.

Теперь у меня ALJ 2.2, настроек MySQL я абсолютно не касался. Мне кажется, в 
русском дистрибутиве такой проблемы не должно появляться даже при установке 
"из коробки". Возможно, у меня неправильно установлена локаль:

$ echo $LANG
ru_RU.CP1251
$ echo $LANGUAGE
ru_RU.CP1251

Ни одна из переменных $LC_* не установлена.

Есть ли простой способ устранить проблему? Честно говоря, не хотелось бы 
ковырять скрипты запуска...



Подробная информация о списке рассылки community