如何避免从java servlet读取不需要的数据到android

时间:2014-07-04 09:42:46

标签: java android servlets

我有一个Java servlet,它从Android应用程序获取一些数据,并使用以下代码将字符串数据返回给Android应用程序。

response.getOutputStream().write(STRING_MESSAGE.getBytes());

我在这里传递的值是从android活动中读取的:

InputStream is = con.getInputStream();
byte[] b = new byte[1024];
while(is.read(b) != -1) {
    buffer.append(new String(b));
}

然后使用以下函数将值转换为String:

String result = buffer.toString();

但是在这样做之后,结果会添加一些不需要的字符(它们在菱形内部显示为'?')附加到我从servlet传递的原始字符串。我怎么能避免这个?

1 个答案:

答案 0 :(得分:0)

正如nafas所说,编码可能是错误。 尝试用这个替换你的操作系统上的写作:

response.getOutputStream().write(STRING_MESSAGE.getBytes(Charset.forName("UTF-8")));

你还必须将mod应用于InputStream:

buffer.append(new String(b, Charset.forName("UTF-8")));