Форум сайта python.su
26
Не знаю как в MySQL, а в каноническом SQL сопостовление с LIKE регистрозависимое. В PosrgreSQL есть способы задать вопрос так, как надо. Там даже стандартный re можно использовать…
Офлайн
0
ZZZВ MySQL, LIKE регистро-независимый. Да и такой запрос:
Не знаю как в MySQL, а в каноническом SQL сопостовление с LIKE регистрозависимое. В PosrgreSQL есть способы задать вопрос так, как надо. Там даже стандартный re можно использовать…
select([func.upper(t.c.name).label('name')], func.upper(t.c.name).like(func.upper(u'Пуля')))
Отредактировано (Май 14, 2008 08:08:45)
Офлайн
0
shizaНет, он так вообще ниче не находит. Нужно писать в юникоде. Если из таблицы взять кракозябру, то найдет. Но опять же одно слово.
а если попробовать выполнить в SQLyong:Правильно выборку делает?select * from test where name LIKE 'пуля'
Офлайн
0
Если все кодировки правильно стоят, то SQLyong - в нужной колировке запрос делает.
У меня на твоей таблице и моем запросе, в SQLyong возвращаются все варианты слова “пуля”.
Офлайн
0
Ога. Проверил. Если все делать из SQLyong, то все работает. Ну ясно. Значит алхимия косячит. Есть идеи как его можно настроить?
Отредактировано (Май 14, 2008 09:10:24)
Офлайн
0
Решение нашел в соседней ветки. Session.execute( “SET NAMES UTF8” ) спасает…
Теперь надо всю базу перекодировать %)
Отредактировано (Май 14, 2008 09:26:28)
Офлайн
0
Неудобно жуть. При каждом запросе делать такую бяку :(
Офлайн
1
Обверни во что-нибудь.
А лучше алхимию подфиксай ;)
Офлайн
0
Да просто, в каждом методе контроллеров __before__, пишешь эту чачу) Нет желания у меня копаться в алхимии. Будет долго, так как английский не знаю. Может со временем кто-то найдет решение покрасивше :)
Офлайн
0
Поковырялси я. Оказывается алхимия тут не при чем.
# -*- coding: utf-8 -*-
from MySQLdb import Connection
c = Connection("localhost", "lodin", "pass", "db")
c.query("INSERT INTO `Blog` (subject) VALUES ('тема')")
c.commit()
# -*- coding: utf-8 -*-
from MySQLdb import Connection
c = Connection("localhost", "lodin", "pass", "db")
c.query("SET NAMES UTF8")
c.query("INSERT INTO `Blog` (subject) VALUES ('тема')")
c.commit()
Отредактировано (Сен. 18, 2008 22:06:59)
Офлайн