Импорт текстовых файлов Android - PullRequest
2 голосов
/ 16 августа 2011

Я пытаюсь импортировать текстовый файл для простого отображения в текстовом представлении с помощью Android.

Файл называется "Legal" и находится в res / raw

Я использую следующий код для чтения в файле ...

        BufferedReader bufferreader = new BufferedReader(new
        InputStreamReader(getResources().openRawResource(R.raw.legal), Charset.forName("UTF8")));
        String bufferLine;
        String tempText = "";
        try
        {
            while ((bufferLine = bufferreader.readLine()) != null)
            {
                tempText = tempText + bufferLine + "\n";
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

Когда я пытаюсь отобразить tempText в TextView, направленные «умные» кавычки отображаются как неизвестные символы. Текстовый файл, юридический, кодируется с помощью UTF8 (используется notepad ++). Кажется, я не могу понять, в чем проблема.

1 Ответ

1 голос
/ 16 августа 2011

Вы уверены, что "UTF8" является допустимым именем кодировки? документация для Charset , кажется, предлагает UTF-8

Я обычно просто делаю

InputStreamReader(inputStream, "UTF-8")

и у меня не было никаких проблем.У меня были проблемы со стилем HTML в кодировке UTF.Как и в &#UNICODENUMBER;

Это решило эти проблемы

txtView.setText(Html.fromHtml(str).toString());

РЕДАКТИРОВАТЬ

Поскольку вышеприведенное не помогло вам, я бы попробовал следующее:

txtView.setText(Html.fromHtml("“" + " Hello World " + "”").toString());

Просто чтобы посмотреть, поддерживает ли используемый шрифт символы (я полагаю, что вы после кавычек).Если он рендерится, должна быть проблема с тем, как вы читаете файл (даже если он выглядит достаточно корректно) или с самим файлом.

Надеюсь, это поможет:)

...