Я пытаюсь привести следующий контент веб-страницы (как это) в TextView в приложении для Android.
http://www.kavim-t.co.il/include/getXMLStations.asp?parent=56_%20_2
Вот результаты, Chrome vs Activity:
Как вы можете видеть, проблема в том, что символы на иврите /UTF-8/Windows-1255 показаны как "???".
Я использую следующий код (используя org.apache.http):
TextView tv = (TextView) findViewById(R.id.tv1);
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, HTTP.UTF_8);
HttpGet request = new HttpGet("http://www.kavim-t.co.il/include/getXMLStations.asp?parent=56_%20_2");
HttpResponse response = null;
response = client.execute(request);
BufferedReader rd = null;
rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
tv.append(line);
}
Попробуйте указать набор символов для InputStreamReader
rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
Это несколько завершает приведенные здесь решения (по крайней мере, для пользователей Eclipse).
Если вы работаете с Eclipse, и консоль продолжает показывать '???????' вместо символов UTF-8, отличных от английского, следуйте инструкциям в следующей ссылке (помог мне после почти потерять мое мнение об этом):
http://decoding.wordpress.com/2010/03/18/eclipse-how-to-change-the-console-output-encoding/
По моим знаниям
Иврит поддерживается в версиях Android 2.2 и выше.
Если вы тестируете на устройстве ниже версии 2.2, вы не сможете увидеть текст на иврите
Попробуйте протестировать версию Android 2.2 и выше