SQLite не ищет по русским буквам

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
C#:
var zpOutputTable = project.Tables["db"];
ZennoPoster.Db.ExecuteQuery("SELECT * FROM " + project.Variables["table"].Value + " WHERE content LIKE \'%а%\';", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.Odbc, "Dsn=SQLite3 Datasource;database=" + project.Variables["path"].Value +";characterset=utf8", ref zpOutputTable);
Если в блок %а% вставлять английские буквы, то прекрасно находит записи. Если по-русски, то не находит.
Любой другой софт для SQLite используя эту же строку нормально находит контент на русском.
Может какие параметры специальные нужны?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
Вообще странно... Буквы "а", "ш" или "о", к примеру, не ищет, а "ы", "р" нормально находит.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
Вокруг слов кавычки ставятся?
В поле "content"? Нет, там просто ключи. Задача почистить ключи от русских строк.
Тут только если кодировку проверять :bn:
characterset=utf8 ставлю в параметрах подключения к БД.
Может где-то ещё?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
На всякий случай принудительно конвертирую букву "а" в UTF8
C#:
byte[] bytes = Encoding.Default.GetBytes("а");
string input = Encoding.UTF8.GetString(bytes);
И потом LIKE \'%" + input + "%\'; тоже самое, ноль записей находит, хотя их там несколько тысяч...

Самое обидное, что точно такой же запрос в SQLite Maestro отлично ищет.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)