У меня та же проблема с использованием правильного набора символов для моей базы данных sqlite. Я использовал следующий код перед созданием таблиц:
private static final String PRAGMA_ENCODING = "PRAGMA encoding ='utf-8'";
Но это не имеет значения.
Мое приложение подключается к онлайн-базе данных, извлекает данные, сохраняет в базе данных sqlite на андроиде. Моя проблема заключается в том, что, когда я хочу отобразить некоторые данные, он показывает «ноль». Я считаю, что это потому, что некоторые данные из онлайн-базы данных содержат такие символы, как é, ë.
Я знаю, что когда я вставляю данные из онлайн-базы данных в базу данных sqlite, каждая отдельная строка, содержащая один из этих символов, не вставляется. (Вставляется как ноль).
Следующие коды показывают, как я помещаю свои данные из онлайн в строку:
BufferedReader reader = new BufferedReader(
new InputStreamReader(stream, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
stream.close();
result = sb.toString();
Может быть, мне нужно изменить конвертер "iso-8859-1"? (Данные онлайн вставляются с использованием utf8_unicode_ci, и я попробовал utf8_general)
Спасибо