Набор символов базы данных Sqlite для Android - PullRequest
0 голосов
/ 16 мая 2011

У меня та же проблема с использованием правильного набора символов для моей базы данных 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)

Спасибо

...