获取希伯来字符/ UTF-8的网页内容

时间:2012-07-13 12:53:47

标签: java android apache hebrew

我正在尝试将下一个网页内容(因为它)带到我的Android应用程序中的TextView。

http://www.kavim-t.co.il/include/getXMLStations.asp?parent=56_%20_2

以下是Chrome与活动的结果:

enter image description here

正如您所看到的,问题是希伯来语/ 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);
}

3 个答案:

答案 0 :(得分:3)

尝试为InputStreamReader

指定字符集

http://developer.android.com/reference/java/io/InputStreamReader.html#InputStreamReader(java.io.InputStream, java.lang.String)

rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));

答案 1 :(得分:0)

据我所知

Android版本2.2及更高版本支持希伯来语。

如果您在2.2版以下的设备中进行测试,则无法看到希伯来文

尝试在Android 2.2及以上版本中进行测试

答案 2 :(得分:0)

这确实完成了这里给出的解决方案(至少对于Eclipse用户而言)。

如果您正在使用Eclipse并且控制台一直显示“???????”而不是UTF-8非英语字符,请按照以下链接中的说明(在几乎失去理智后帮助我):

http://decoding.wordpress.com/2010/03/18/eclipse-how-to-change-the-console-output-encoding/