我正在尝试从 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;
}