服务号获取用户基本信息乱码问题?
这是我post请求的工具类,请求后的返回的结果是乱码。我用String message = newString(userOpenIds.getBytes(), "UTF-8");转了下结果还是有部分字符是乱码。
如果使用String message = newString(userOpenIds.getBytes("ISO-8859-1"), "UTF-8");结果就会变成全是???(问号)
public static String post(String url, String data) {
try {
URL urlObj = new URL(url);
URLConnection connection = urlObj.openConnection();
// 要发送数据出去,必须设置为可发送数据状态
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
// 写出数据
os.write(data.getBytes(Charset.forName("utf-8")));
os.close();
// 获取输入流
InputStream is = connection.getInputStream();
byte[] b = new byte[1024];
int len;
StringBuilder sb = new StringBuilder();
while ((len = is.read(b)) != -1) {
sb.append(new String(b, 0, len));
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}