问题是因为HttpURLConnection接收数据的时候 字符集默认的是GBK 要转码UTF-8 public static String sendPostNew(String url, String param ) { String result = ""; try { URL httpurl = new URL(url); HttpURLConnection httpConn = (HttpURLConnection) httpurl .openConnection(); httpConn.setRequestMethod("POST"); httpConn.setDoOutput(true); httpConn.setDoInput(true); httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); PrintWriter out = new PrintWriter(new OutputStreamWriter( httpConn.getOutputStream(), "utf-8")); out.print(param); out.flush(); out.close(); int code=httpConn.getResponseCode(); if (code==200) { //关键在这行代码。设置接收字符集 防止乱码 BufferedReader in = new BufferedReader(new InputStreamReader( httpConn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } in.close(); }else{ result=code+""; } } catch (Exception e) { System.out.println("没有结果!" + e); } return result; }
使用HttpURLConnection获取数据部分乱码
最新推荐文章于 2024-04-25 09:05:43 发布