Я отправляю некоторые данные на сервер, используя класс DefaultHttpClient
, и в потоке ответов я получаю файл HTML. Я сохраняю поток в виде строки и передаю его в другое действие, которое содержит WebView для отображения этого HTML-кода на экране:
response = httpClient.execute(get);
InputStream is = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
StringBuffer sb = new StringBuffer();
String line;
while((line=br.readLine())!=null){
sb.append(line);
sb.append("\n");
}
is.close();
Intent intent = new Intent(this,Trial.class);
intent.putExtra("trial",sb.toString());
startActivity(intent);
Log.i("SB",sb.toString());
В Second Activity код для загрузки WebView выглядит так:
WebView browser = ((WebView)findViewById(R.id.trial_web));
browser.getSettings().setJavaScriptEnabled(true);
browser.loadData(html,"text/html", "utf-8");
Когда я запускаю этот код, WebView не может правильно отобразить содержимое HTML. На самом деле на экране отображается строка HTML в формате URL в кодировке. Интересно, что если я скопирую выходные данные Loggers в файл HTML, а затем загружу этот HTML в мой WebView (используя webview.loadurl(file:///assets/xyz.html)
), все будет работать нормально.
Я подозреваю некоторую проблему с кодировкой символов.
Что здесь не так? Пожалуйста, помогите.
Спасибо.