Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
Scrypto
67 / 68 / 26
Регистрация: 08.02.2013
Сообщений: 398
1

Не ищет по базе, кириллические слова

02.01.2017, 14:02. Просмотров 429. Ответов 6
Метки нет (Все метки)

Функция поиска
C#
1
2
3
4
 void SearchEngene(string what, string where){
         var db = new SQLiteConnection(@"sql.db", true);
         var klients = db.Query<Klient>("SELECT * From Klient WHERE "+where +" LIKE '" + Utf8Converter(what) + "%'");
}
Функция перекодировки в utf8
C#
1
2
3
4
5
6
 string Utf8Converter(string nonutf8)
        {
            byte[] br = Encoding.UTF8.GetBytes(nonutf8);
            string utf8 = Encoding.UTF8.GetString(br, 0, br.Length);
            return utf8;
        }
По английски все хорошо ищет, по русски вообще нет. Как победить проблему?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2017, 14:02
Ответы с готовыми решениями:

Не ищет русские слова в базе
Не могу понять, почему не работает приложение при подключении к LocalDB. На MySQL всё работало....

Не ищет в базе
Такая проблемка: if ($_POST &amp;&amp; $_POST) { $username = $_POST; //Передаём логин...

Написать программу которая ищет слова с определенной буквой и записывает в другой файл и при этом удаляет повторяющиеся слова
Дорогие форумчане помогите написать программу. Написать программу которая ищет слова с...

Не ищет русский текст по запросу в базе
Добрый вечер. Имеется: база в UTF8; страница с которой вводится текст поиска тоже UTF8; и...

Поиск в базе данных, не до конца ищет
Ребят прошу помочь, я сделал поиск в базе, но у меня находит только первое значение, а второе не...

6
pincet
1374 / 958 / 130
Регистрация: 23.07.2010
Сообщений: 5,185
02.01.2017, 14:42 2
навалить сиквелу на ваши конвертеры. Поле должно быть nchar и пользоваться примерно так

T-SQL
1
where MyPleasure like N'%Моя прелесть%'
Добавлено через 13 минут
сорри, не увидел SQLite
0
Scrypto
67 / 68 / 26
Регистрация: 08.02.2013
Сообщений: 398
02.01.2017, 14:42  [ТС] 3
pincet, то есть если поля varchar то искать не будет?
И что за буква N после like?
T-SQL
1
where MyPleasure like N'%Моя прелесть%'
0
OwenGlendower
Супер-модератор
Эксперт .NET
10244 / 8841 / 3784
Регистрация: 17.03.2014
Сообщений: 17,781
Записей в блоге: 1
02.01.2017, 14:52 4
Scrypto, похоже sqlite не поддерживает поиск по unicode строкам. Необходимо устанвливать расширение ICU (Хабр - SQLite и полноценный UNICODE).

Цитата Сообщение от Scrypto Посмотреть сообщение
Функция перекодировки в utf8
Эту функцию правильнее назвать DoNothing т.к. она не делает ничего полезного.
1
Scrypto
67 / 68 / 26
Регистрация: 08.02.2013
Сообщений: 398
02.01.2017, 16:41  [ТС] 5
OwenGlendower, что-то не понимаю совсем, как и что нужно сделать, чтобы была поддержка unicode. Смотрел на других сайтах, у пользователей она все таки ищет, но только с учетом регистра, а у меня вообще не выдает ничего, даже если регистр совпадает (

Добавлено через 30 минут
Или можешь посоветовать другую бд, с которой таких проблем не будет ?
0
OwenGlendower
Супер-модератор
Эксперт .NET
10244 / 8841 / 3784
Регистрация: 17.03.2014
Сообщений: 17,781
Записей в блоге: 1
03.01.2017, 10:19 6
Scrypto, я не спец по SQLite. В качестве замены могу посоветовать SQL Server.
0
Scrypto
67 / 68 / 26
Регистрация: 08.02.2013
Сообщений: 398
03.01.2017, 13:36  [ТС] 7
Разобрался, я использовал using.sqlite; А надо было using.system.data.sqlite; Это в nuget пакетах еще при установке, я лишний пакет добавил, и им пользовался, с официальным нормально, все ищет. Только переделать под его синтаксис все пришлось
0
03.01.2017, 13:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2017, 13:36

Приложение при автозагрузке обращается к базе и ищет её в системной папке System32
VB 2010, база access. Connection string задается с использованием относительного пути:...

Не ищет русские слова/буквы
Всем привет,делал поиск для сайта все хорошо работает, кроме того что он отказывается искать именно...

Index Server не ищет русские слова
Ситуация такая: у меня на моей машине (NT4) все каталоги отлично работают - ищутся русские слова и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru