Неправильная кодировка при выборке данных из 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));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д