Dreid
написал 4 октября 2004 года в 16:42 (569 просмотров)
Ведет себя
как мужчина; открыл 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)
Что я не так делаю?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
charset в конфиге mysql стоит правильный?
Угу. upper/lower тоже работают нормально.
Кстати, проявляется и в 1251 и в KOI8.
Все правильно, поля по дефолту не различают заглавных и строчных букв. Если хочешь case-sensitive поля, используй киворд BINARY на столбцах.
Good Luck,
UT
Т.е. поиск не различает, поля-то отображаются всегда правильно…
Good Luck,
UT
create table test (name varchar(255) binary not null);
Так это-то меня не пугает, меня пугает то, что а=б.
PS: про binary я знаю, но это мне не подходит как раз из-за upper/lower :(
Сорри, не просек сразу… У меня она вообще на русских пукфах крестики рисует… :-) Может, Юникоду попробовать?
Good Luck,
UT
Видимо, придется. Хотя я опять-таки не уверен, что это поможет :(
Причем все остальные буквы исправно считаются разными, проблема только в АБ.