java中post时中文乱码

时间:2022-12-12 21:29:04

http://blog.chinaunix.net/uid-12348673-id-3335300.html

设置流的编码,就避免了乱码

public static String post(String path,String params) throws Exception{
HttpURLConnection httpConn=null;
BufferedReader in=null;
//PrintWriter out=null;
try {
URL url=new URL(path);
httpConn=(HttpURLConnection)url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setDoInput(true);
httpConn.setDoOutput(true);
System.out.print("params="+params);
//utf-8
PrintWriter ot = new PrintWriter(new OutputStreamWriter(httpConn.getOutputStream(),"utf-8"));
ot.println(params);
ot.flush();
//out=new PrintWriter(httpConn.getOutputStream());
//out.println(params); //out.flush(); //读取响应
if(httpConn.getResponseCode()==HttpURLConnection.HTTP_OK){
StringBuffer content=new StringBuffer();
String tempStr="";
//utf-8
in=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"utf-8"));
while((tempStr=in.readLine())!=null){
content.append(tempStr);
}
return content.toString();
}else{ throw new Exception("请求出现了问题!"); }
} catch (IOException e) {
e.printStackTrace();
}finally{
in.close();
// out.close();
httpConn.disconnect();
}
return null;
}