【发布时间】:2013-07-19 10:11:23
【问题描述】:
我正在尝试从 HTML 页面获取一些文本,我可以正确下载,但西班牙语中的重音符号(á、é、í、ó、ú)和可能其他特殊字符(ü)显示为正方形一个 ?标记里面。
一旦我使用的 InputStreamReader 调用了 read 函数,文本已经像这样出现了,但是 HTML 页面和存储内容的数据库都很好。
是否可以向 InputStreamReader 指定它应该期望的字符编码?我最初在数据库中使用utf8_general_ci,然后将其显示到获取文本的php页面中。
谢谢。
private String DownloadText (String URL)
{
int BUFFER_SIZE = 2000;
InputStream in = null;
try
{
in = OpenHttpConnection(URL);
}
catch (IOException e)
{
return "";
}
InputStreamReader isr = new InputStreamReader(in);
int charRead;
String str = "";
char[] inputBuffer = new char[BUFFER_SIZE];
try
{
charRead = isr.read(inputBuffer);
str = String.copyValueOf(inputBuffer,0,charRead);
inputBuffer = null;
in.close();
}
catch(IOException e)
{
return "";
}
return str;
}
【问题讨论】:
标签: android html character-encoding inputstreamreader