Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Scrypto
57 / 57 / 10
Регистрация: 08.02.2013
Сообщений: 284
02.01.2017, 14:02     SQLite Не ищет по базе, кириллические слова #1
Функция поиска
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;
        }
По английски все хорошо ищет, по русски вообще нет. Как победить проблему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2017, 14:02     SQLite Не ищет по базе, кириллические слова
Посмотрите здесь:

Запрос к базе данных C#
Подключение к базе данных C#
Доступ к базе данных C#
C# поиск по базе
C# Запрос к базе
C# Запросы к базе
Путь к базе данных C#
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pincet
 Аватар для pincet
1102 / 763 / 80
Регистрация: 23.07.2010
Сообщений: 3,855
02.01.2017, 14:42     SQLite Не ищет по базе, кириллические слова #2
навалить сиквелу на ваши конвертеры. Поле должно быть nchar и пользоваться примерно так

T-SQL
1
where MyPleasure like N'%Моя прелесть%'
Добавлено через 13 минут
сорри, не увидел SQLite
Scrypto
57 / 57 / 10
Регистрация: 08.02.2013
Сообщений: 284
02.01.2017, 14:42  [ТС]     SQLite Не ищет по базе, кириллические слова #3
pincet, то есть если поля varchar то искать не будет?
И что за буква N после like?
T-SQL
1
where MyPleasure like N'%Моя прелесть%'
OwenGlendower
Модератор
 Аватар для OwenGlendower
5161 / 4216 / 1563
Регистрация: 17.03.2014
Сообщений: 7,678
Записей в блоге: 1
02.01.2017, 14:52     SQLite Не ищет по базе, кириллические слова #4
Scrypto, похоже sqlite не поддерживает поиск по unicode строкам. Необходимо устанвливать расширение ICU (Хабр - SQLite и полноценный UNICODE).

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

Добавлено через 30 минут
Или можешь посоветовать другую бд, с которой таких проблем не будет ?
OwenGlendower
Модератор
 Аватар для OwenGlendower
5161 / 4216 / 1563
Регистрация: 17.03.2014
Сообщений: 7,678
Записей в блоге: 1
03.01.2017, 10:19     SQLite Не ищет по базе, кириллические слова #6
Scrypto, я не спец по SQLite. В качестве замены могу посоветовать SQL Server.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2017, 13:36     SQLite Не ищет по базе, кириллические слова
Еще ссылки по теме:

C# MySQL Не подключается к базе
C# MS Access Преобразование в базе
C# Путь к базе
Подключение к базе из .config C#
C# Кодировка в Базе

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

Или воспользуйтесь поиском по форуму:
Scrypto
57 / 57 / 10
Регистрация: 08.02.2013
Сообщений: 284
03.01.2017, 13:36  [ТС]     SQLite Не ищет по базе, кириллические слова #7
Разобрался, я использовал using.sqlite; А надо было using.system.data.sqlite; Это в nuget пакетах еще при установке, я лишний пакет добавил, и им пользовался, с официальным нормально, все ищет. Только переделать под его синтаксис все пришлось
Yandex
Объявления
03.01.2017, 13:36     SQLite Не ищет по базе, кириллические слова
Ответ Создать тему
Опции темы

Текущее время: 02:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru