当我向服务器请求(GET)内容时,我可以获得如下响应: 克??
但实际内容是: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òÉ 的实际内容。
我也尝试过读取字节。谁能帮我解决这个问题。
提前致谢。
最佳答案
您可以尝试通过以下方式删除它
跨度跨度 = Html.fromHtml(stringBuilder.toString(), this, null);
尝试打印跨区文本。
关于java - 服务器响应中的特殊字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973118/