nixp.ru v3.0

25 апреля 2024,
четверг,
22:28:44 MSK

Dreid написал 4 октября 2004 года в 16:42 (519 просмотров) Ведет себя как мужчина; открыл 7 тем в форуме, оставил 151 комментарий на сайте.

Загадочный вопрос:

только ли у меня MySql считает, что буквы а,б,А и Б — суть одно?

В смысле, вот так:

mysql> create table test (name varchar(255));

Query OK, 0 rows affected (0.01 sec)

mysql> insert into test values(’б’);

Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(’а’);

Query OK, 1 row affected (0.00 sec)

mysql> select * from test where name=’Б’;

+——--+

| name |

+——--+

| б |

| а |

+——--+

2 rows in set (0.00 sec)

Что я не так делаю?

Master

charset в конфиге mysql стоит правильный?

Dreid

Угу. upper/lower тоже работают нормально.

Кстати, проявляется и в 1251 и в KOI8.

Uncle Theodore

Все правильно, поля по дефолту не различают заглавных и строчных букв. Если хочешь case-sensitive поля, используй киворд BINARY на столбцах.

Good Luck,

UT

Uncle Theodore

Т.е. поиск не различает, поля-то отображаются всегда правильно…

Good Luck,

UT

create table test (name varchar(255) binary not null);

Dreid

Так это-то меня не пугает, меня пугает то, что а=б.

Dreid

PS: про binary я знаю, но это мне не подходит как раз из-за upper/lower :(

Uncle Theodore

Сорри, не просек сразу… У меня она вообще на русских пукфах крестики рисует… :-) Может, Юникоду попробовать?

Good Luck,

UT

Dreid

Видимо, придется. Хотя я опять-таки не уверен, что это поможет :(

Причем все остальные буквы исправно считаются разными, проблема только в АБ.

Последние комментарии

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.