【发布时间】:2015-01-14 09:21:50
【问题描述】:
当我向服务器请求(GET)内容时,我能够得到如下响应: K??
但实际内容是:KòÉ
为了解决这个问题,我在保存和读取文件内容时尝试使用 UTF-8 格式,如下所示:
//保存内容
OutputStreamWriter sout = new OutputStreamWriter (new FileOutputStream(new File(path)),Charset.forName("UTF-8"));
BufferedWriter buff_out= new BufferedWriter(sout);
int line = 0;
while((line = buff_in.read()) != -1)
buff_out.write(line);
//读取内容
InputStream inputStreamRead = new FileInputStream(path);
StringBuilder stringBuilder = null;
InputStreamReader inputStreamReader = new InputStreamReader(inputStreamRead, Charset.forName("UTF-8"));
BufferedReader buffReader= new BufferedReader(inputStreamReader);
String line;
stringBuilder = new StringBuilder();
try
{
while (( line = buffReader.readLine()) != null)
{
stringBuilder.append(line);
stringBuilder.append('\n');
}
Log.d("Main", "Test:: "+stringBuilder.toString());
}
借助上述逻辑,我不可能得到像KòÉ那样的实际内容。
我也尝试过读取字节。谁能帮我解决这个问题。
提前致谢。
【问题讨论】:
标签: java android unicode character-encoding fileoutputstream