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

  • Автор темы Автор темы Astraport
  • Дата начала Дата начала

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 084
Реакции
4 633
Баллы
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 используя эту же строку нормально находит контент на русском.
Может какие параметры специальные нужны?
 
Вокруг строк кавычки ставятся?
Любой другой софт для SQLite используя эту же строку нормально находит контент на русском.
Тут только если кодировку проверять :bn:
 
Последнее редактирование:
Вокруг слов кавычки ставятся?
В поле "content"? Нет, там просто ключи. Задача почистить ключи от русских строк.
Тут только если кодировку проверять :bn:
characterset=utf8 ставлю в параметрах подключения к БД.
Может где-то ещё?
 
На всякий случай принудительно конвертирую букву "а" в UTF8
C#:
Развернуть Свернуть Копировать
byte[] bytes = Encoding.Default.GetBytes("а");
string input = Encoding.UTF8.GetString(bytes);
И потом LIKE \'%" + input + "%\'; тоже самое, ноль записей находит, хотя их там несколько тысяч...

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

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