我想在TextView中显示阿拉伯语文本。
当我以静态形式调用它时(从R.string.arabic_text调用文本),这是有用的 我用了一些方法。 但是,当我想从InputStreamReader获取文本时,它会失败。
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(Url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = ArabicUtilities.reshape(reader.readLine())) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
模拟器图片上的文本输出由AlertDialog
Utils.AlertTestDeveloppementMsg(result);
获取,并且在Toast
我从文件中完整地提取字段名称。
我在new InputStreamReader(
is, "iso-8859-1")
尝试了很多字符集
US-ASCII,ISO-8859-1,UTF-8,UTF-16BE,UTF-16LE,UTF-16,Cp1256 ..
答案 0 :(得分:0)
Http回复有一个Content-type
标题,如果文本内容也包含编码。您假设答复是以iso-8859-1
编码的。
因此,您应该手动检查回复中使用的编码,或者最好使用EntityUtils.toString()
自动检查编码并进行相应转换:
result = EntityUtils.toString(entity);