Неправильная кодировка при выборке данных из SQLite - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, надеюсь на вашу помощь в следующей пробелме У меня программа, назовем ее главное приложение, работает с базой данных sqlite3. Написана на C# Когда ввожу русский текст внутри нее, в textfield например, и затем сохраняю его в БД (в некой таблице), то при следующем считывании из БД текст отображается правильно в главном приложении. Но в БД есть таблица, содержимое которой записано с помощью другой программы на C#. (Вспомогательная программа) Эта программа считывала файл в кодировке windows-1251 и содержимое записывала в отдельную таблицу в БД. Теперь когда в главном приложении я считываю из БД эти данные они отображаются не корректно, никак не могу добиться их корректного отображения. В главном приложении данные считываются следующим образом:
string sql = "SELECT * FROM table_name;";
SQLiteDataReader rdr = executeSQL(sql, true);
 
string text = getString(rdr, 0);
...
В принципе я получаю то, что я записал с помощью вспомогательной программы Вот код как вспомогательная программа записывает данные в БД:
string lines = File.ReadAllBytes(path);
while (true)
{
string line = getLine(lines); // взять следующую строку из потока байтов (конец строки у меня 13 10)
if (line == null)
break;
string sql = "INSERT INTO table_name VALUES (";
sql += "\'" + some_value_text + "\'";
sql += ");";
executeSQL(sql);
connection.Close();
...
}[/CODE]
Подключение к БД происзодит в обоих программах одинаково:
[CODE]executeSQL(string sql) {
...
encoding = "windows-1251";
connection.ConnectionString = "";
connection.ConnectionString = "encoding=" + encoding + ";";
connection.ConnectionString += "URI=file:" + GetDBPath();
connection.Open();
SQLiteCommand cmd = new SQLiteCommand(connection);
cmd.CommandText = sql;
...
}
В чем проблема, что я не так делаю? Спасибо

Решение задачи: «Неправильная кодировка при выборке данных из SQLite»

textual
Листинг программы
StreamReader sr = new StreamReader(path, Encoding.GetEncoding(1251));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы