| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > Проблема при использовании LIKE с UNICODE в IB/FB |
| Автор: Паша Меньщиков 16.10.2003, 09:50 | ||||||
| Привет! Есть БД, часть определения которой приведена ниже.
Возникает проблема при выполнении операторов вида
причем правый символ % может отсутствовать (поведение то же). При выполнении этого оператора сервер подвисает (испробовано на IB6, FB1, FB1.5). Если вместо 'Коридор' написать 'Coridor', запрос выполняется нормально. Запрос выполнялся нормально и тогда, когда DEFAULT CHARACTER SET был WIN1251. Запросы вида
(именно так: UPPER('от_больших_букв') - описано, кажется, в открытых фичах/багах FB1) вываливает все записи, где NAME написано в данном случае кириллицей. Вопрос: лечится ли это как-то? Если лечится, просьба прояснить, как. Если нет, просьба кинуть идею, какой конструкцией можно заменить указанные операторы. |
| Автор: Akella 16.9.2004, 17:21 | ||
| у меня такая же проблема с частичным поиском. Кусок из метаданных
кажется кодовая страница не определена. |
| Автор: <Spawn> 18.9.2004, 12:38 |
| Ответ в http://forum.vingrad.ru/index.php?showtopic=29772 теме |
| Автор: gray_k 20.9.2004, 07:52 |
| Проблема скорее всего в том, что большинство клиентов с юникодом работать не умеет. В частности для очень популярного IBExpert поддержку юникода добавили меньше месяца назад, и как оно работает я ещё не смотрел, так что могу только посоветовать сменить кодировку или не пользоваться русским шрифтом. |
| Автор: Гость_Владимир 11.10.2004, 02:47 |
| Проще всего использовать кодировку NONE. Оно проще. А большие/маленькие буквы - хестко забить в программе. |
| Автор: Akella 11.10.2004, 08:52 |
| я делал по другому 1. Копировал таблицу в Paradox или 2. Присваивал значение поля переменной а затем проверял сходство |