|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
На компе создаю в sqlitedeveloper БД для Андроид приложения. Надо, чтобы можно было строить запросы к таблице с помощью LIKE без учёта регистра. В поле, к которому я делаю запрос, текст на русском/украинском/английском языках. Что посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 00:05 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
Забить на это желание. Чтобы оно искало без учета регистра, да еще и на разных языках нужно собирать SQLite с поддержкой ICU. SQLite встроенный в Android (проверял на 2.1) этой поддержки не имеет. Теоретически, можно собрать SQLite самостоятельно и либо подменить тот что уже есть в Андроиде на свой (непросто), либо распространять самособранный вместе с приложением (попроще первого варианта, но не намного). Впрочем, можно всегда пойти по пути "для бедных": Добавить в таблицу для каждого поля по которому надо будет делать регистро-независимый поиск второе поле. В этом втором поле писать тот-же текст что и в главном поле, но в жестко заданном регистре (конвертировать текст на клиенте) а потом уже искать поэтому дополнительному полю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 00:22 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
White OwlЗабить на это желание. Чтобы оно искало без учета регистра, да еще и на разных языках нужно собирать SQLite с поддержкой ICU. SQLite встроенный в Android (проверял на 2.1) этой поддержки не имеет. Теоретически, можно собрать SQLite самостоятельно и либо подменить тот что уже есть в Андроиде на свой (непросто), либо распространять самособранный вместе с приложением (попроще первого варианта, но не намного). Впрочем, можно всегда пойти по пути "для бедных": Добавить в таблицу для каждого поля по которому надо будет делать регистро-независимый поиск второе поле. В этом втором поле писать тот-же текст что и в главном поле, но в жестко заданном регистре (конвертировать текст на клиенте) а потом уже искать поэтому дополнительному полю."Теоретически, можно собрать SQLite самостоятельно и либо подменить тот что уже есть в Андроиде на свой" я правильно понимаю, что Вы имеете ввиду .dll? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 00:26 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
redskyсамостоятельно и либо подменить тот что уже есть в Андроиде на свой" я правильно понимаю, что Вы имеете ввиду .dll?В Андроиде нету .dll, там вовсе не Винда под java прячется... Но да, ты мыслишь в правильном направлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 00:32 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
White Owlredskyсамостоятельно и либо подменить тот что уже есть в Андроиде на свой" я правильно понимаю, что Вы имеете ввиду .dll?В Андроиде нету .dll, там вовсе не Винда под java прячется... Но да, ты мыслишь в правильном направлении. или как там на линуксе библиотеки именуют :) Думал согрешу, если сделаю дополнительное поле со всеми значениями в одном регистре, а не как-то настрою ICU :) БОЛЬШОЕ ВАМ СПАСИБО!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 00:39 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
White OwlЧтобы оно искало без учета регистра, да еще и на разных языках нужно собирать SQLite с поддержкой ICU. ICU работает с выбранной локалью, так что регистронезависимый поиск возможен по комбинации двух языков: [национальный язык]+английский. Да и применять ICU разумно, когда требуется нечто большее, чем просто регистронезависимый поиск, - стемминг, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2012, 03:45 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
Интересно, какого размера должен быть метеорит, угрожающий Земле, чтобы разработчики SQLite вняли воплям тысяч пользователей и включили-таки регистронезависимое юникодное (сравнение и like) в стандартную сборку SQLite? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2012, 09:32 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
Их не чем не напугаешь. мне больше интересно неужели разработчики на с++ не страдают с этой проблеммой? что бы взять и дописать кусок кода в том месте где идет обработка юникода ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2012, 18:58 |
|
Запросы к полю без учёта регистра на разных языках
|
|||
---|---|---|---|
#18+
Поддержка юникода есть в апстриме, достаточно включить при сборке модуль ICU. Также можно использовать функции ОС (уж под виндоусом-то это вообще элементарно, под другими ОС - везде по-разному). А еще можно обойтись базовым юникодом, ежели его достаточно и соответствующим расширением. И т.д. и т.п. Ну или можно поплакаться на форуме... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2012, 06:01 |
|
|
start [/forum/topic.php?fid=54&msg=37687320&tid=2009053]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 271ms |
total: | 429ms |
0 / 0 |