1
我使用下面的代碼發佈一些數據,但我發現在某些服務器的響應字符串是亂碼(並非所有的服務器)。使用UrlConnection時某些服務器出現亂碼?
URL url = new URL("http://url");
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod(method);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Accept-Charset", String_UTF_8);
connection.setRequestProperty("contentType", String_UTF_8);
connection.connect();
PrintWriter out = new PrintWriter(newOutputStreamWriter(connection.getOutputStream(),String_UTF_8));
out.println(json);
out.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), String_UTF_8));
String lines;
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes());
sb.append(lines);
}
reader.close();
connection.disconnect();
我嘗試了很多方法,但都沒有效果。
什麼是'String_UTF_8'?從你的代碼中刪除'lines = new String(lines.getBytes());''''''因爲你已經有'String'了,所以它是無用的。 –
@ NicolasFilotto,刪除該行,並解決問題。您應該回答問題而不是評論。 –