Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#196: 2010-10-11 08:34:34 ЛС | профиль | цитата
ser_davkin, похоже, эта pragma не работает для русских букв.
карма: 1

0
Ответов: 1536
Рейтинг: 176
#197: 2010-10-11 12:27:17 ЛС | профиль | цитата
Я тут возложил на SQL большие надежды, а она оказывается дырявая. Как её заточить под кирилицу?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 16884
Рейтинг: 1239
#198: 2010-10-11 12:30:33 ЛС | профиль | цитата
ser_davkin писал(а):
Я тут возложил на SQL большие надежды, а она оказывается дырявая.
кажется дырявые твои познания.
ser_davkin,
1. Только БД созданная и эксплуатируемая со штатной (HiAsm) dll понимают локальный (русский) язык.
2. Все последующие версии и obj работают "только" с UTF-8 и забили на "чистые" локальные языки.
3. Будешь писать (и читать) в БД в UTF-8 - все проблемы с LIKE исчезнут.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1536
Рейтинг: 176
#199: 2010-10-11 12:38:32 ЛС | профиль | цитата
Получается, если я той же PRAGMA, изначально (сразу) переведу базу в UTF - 8, смогу, наконец, пользоваться командой PRAGMA case_sensitive_like = boolean; (False, True). Да!
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 16884
Рейтинг: 1239
#200: 2010-10-11 12:51:37 ЛС | профиль | цитата
Выбот кодировки производится при СОЗДАНИИ БД.
Уже созданую БД никакая прагма не изменит. Если создаётся БД с новыми версиями или с obj, то она уже UTF-8
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1536
Рейтинг: 176
#201: 2010-10-11 13:50:59 ЛС | профиль | цитата
Tad писал(а):
Если создаётся БД с новыми версиями или с obj, то она уже UTF-8


Вот установил opt_sqlite3_7_2.dll, как буд-то новая версия, но тоже, с кирилицей не работает.

------------ Дoбавленo в 13.44:
Установил sqlitedll-3_7_3, с кирилицей не работает
------------ Дoбавленo в 13.50:
Tad, посмотри мой последний пример (схема), может найдёшь, как, что исправить,а то я уже не знаю, как выполнить этот функционал?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1891
Рейтинг: 110
#202: 2010-10-11 16:00:39 ЛС | профиль | цитата
ser_davkin писал(а):
Вот установил opt_sqlite3_7_2.dll, как буд-то новая версия, но тоже, с кирилицей не работает.

------------ Дoбавленo в 13.44:
Установил sqlitedll-3_7_3, с кирилицей не работает
------------ Дoбавленo в 13.50:
Tad, посмотри мой последний пример (схема), может найдёшь, как, что исправить,а то я уже не знаю, как выполнить этот функционал?


Данные в базе должны быть записаны в кодировке UTF8.

Для записи в базу предварительно нужно данные перекодировать компонентом Charset из вкладки Строки из ANSI_UTF8. Для выборки по запросу: сам запрос перекодировать из ANSI-UTF8 и вывести результат перекодировав UTF8_ANSI
карма: 0
%time%
1
Голосовали:ser_davkin
Ответов: 1536
Рейтинг: 176
#203: 2010-10-11 16:05:39 ЛС | профиль | цитата
Alexbootch, спасибо, буду пробывать, а я уже придумал как костыли вкручивать, но пока отложу.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1891
Рейтинг: 110
#204: 2010-10-11 16:20:47 ЛС | профиль | цитата
ser_davkin писал(а):
Alexbootch, спасибо, буду пробывать, а я уже придумал как костыли вкручивать, но пока отложу


ser_davkin, да ты не торопись, т.к. PRAGMA case_sensitive_like с русскими буквами работать не будет. Бери собранную мной библиотеку с ICU, там все будет работать хоть для русского, хоть для иврита и любого другого языка, поддерживаемого библиотеками ICU
карма: 0
%time%
1
Голосовали:ser_davkin
Ответов: 1536
Рейтинг: 176
#205: 2010-10-11 17:21:18 ЛС | профиль | цитата
Alexbootch, установил я твою библиотеку. Посмотри сам, отключить чувствительность к регистру, всё равно, не удаётся.
Упс , забыл удалить нафиг эту прагму. Завтра ещё плюс поставлю.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1891
Рейтинг: 110
#206: 2010-10-12 22:37:08 ЛС | профиль | цитата
ser_davkin, не как успехи?

ser_davkin, писал(а):
Не знаю как сформировать SQL запрос на множественный поиск в этом столбце. Например, есть строка, которая в столбце text имеет длинное описание чего либо. Я формирую поиск "Пестики, тычинки, пыльца" и программа начинает поиск. Если в столбце есть совпадение на все эти слова, то программа запоминает данную стоку.


FTS3 смотрел?
карма: 0
%time%
0
Ответов: 1536
Рейтинг: 176
#207: 2010-10-12 22:55:11 ЛС | профиль | цитата
Alexbootch, мне нравится, работает весьма стабильно в отличии от sqlite3.dll, которая идёт с HiAsm, есть только один минус - кодировка UTF8, она увеличивает базу в двое. Если бы не функционал поиска с кирилицей, думаю кодировка UTF8 была бы не нужна.
Alexbootch писал(а):
FTS3 смотрел?
Смотрел, но в английском, увы не силён.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1891
Рейтинг: 110
#208: 2010-10-12 23:16:20 ЛС | профиль | цитата
ser_davkin писал(а):
Смотрел, но в английском, увы не силён.


ser_davkin, воспользуйся переводчиком

Вот простой примерчик:

#sql
#sql
--Создаем таблицу и указываем русский токенайзер
CREATE VIRTUAL TABLE t USING fts3(tokenize=icu ru_RU);
--Записываем данные в кодировке UTF-8
INSERT INTO t VALUES('Пестики, тычинки, пыльца и другая всякая хрень');
--Ищем определенные слова в тексте
SELECT * FROM t WHERE t MATCH 'тычинки пестики хрень'; 
--и так далее. Подробнее см. sqlite.org/fts3.html
карма: 0
%time%
0
Ответов: 1536
Рейтинг: 176
#209: 2010-10-13 17:44:58 ЛС | профиль | цитата
Я так понимаю, синтаксис PRIMARY KEY AUTOINCREMENT в твоей библиотеке несколько иной. Как создать таблицу с ним и что вписивать в строку INSERT INTO?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1891
Рейтинг: 110
#210: 2010-10-13 18:37:42 ЛС | профиль | цитата
ser_davkin писал(а):
Я так понимаю, синтаксис PRIMARY KEY AUTOINCREMENT в твоей библиотеке несколько иной. Как создать таблицу с ним и что вписивать в строку INSERT INTO?


Весь синтаксис точно такой же как и в стандартной библиотеке, добавлена лишь поддержка ICU и изменены некоторые опции компиляции
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)