//这句话的意思,是让浏览器用utf8来解析返回的数据
response.setHeader("Content-type", "text/html;charset=UTF-8");
String data = "中文串";
OutputStream ps = response.getOutputStream();
//这句话的意思,使得放入流的数据是utf8格式
response.setHeader("Content-type", "text/html;charset=UTF-8");
String data = "中文串";
OutputStream ps = response.getOutputStream();
//这句话的意思,使得放入流的数据是utf8格式
ps.write(data.getBytes("UTF-8"));
详细参考:http://blog.csdn.net/bbb695480667/article/details/53789968
2、结果集中中文乱码,可能是定义byte[length]时,刚好length位置是中文,中文占2个字符,被截掉了,导致乱码
使用IO流中的字符流来包装字节流,最便利的就是使用BufferedReader来实现
InputStream inputStream1 = post.getResponseBodyAsStream(); StringBuffer out = new StringBuffer(); BufferedReader input = new BufferedReader(new InputStreamReader(inputStream1, "UTF-8")); String s; while((s = input.readLine()) != null) { out.append(s); } return out.toString();