1.0 元HttpClient 中文参数乱码

具体方法如下:

public static String getJsonByUrl(String urlStr) {
       if (urlStr == null)
           return "";
       String result = "";
       try {

           HttpClient httpclient = new HttpClient();

           URL url = new URL(urlStr);          

           String source = "http://" + url.getAuthority() + url.getPath();
           HttpMethod postMethod = new PostMethod(source);
           HttpMethodParams params = new HttpMethodParams();
           params.setContentCharset("UTF-8");
           postMethod.setParams(params);
           String paramQuery = url.getQuery();
           String[] param = paramQuery.split("&");
           NameValuePair[] pairs = new NameValuePair[param.length];
           for (int i = 0; i < param.length; i++) {
               String[] pv = param[i].split("=");
               pairs[i] = new NameValuePair(URLDecoder.decode(pv[0],"UTF-8"), URLDecoder.decode(pv[1],
                       "UTF-8"));
           }
           postMethod.setQueryString(pairs);
           httpclient.executeMethod(postMethod);
           InputStream input = postMethod.getResponseBodyAsStream();
           BufferedReader in = new BufferedReader(new InputStreamReader(input));

           String inputLine;
           StringBuffer bankXmlBuffer = new StringBuffer();
           while ((inputLine = in.readLine()) != null) {
               bankXmlBuffer.append(inputLine);
           }
           in.close();
           result = bankXmlBuffer.toString();
           postMethod.releaseConnection();// 记得释放连接
         
       } catch (HttpException e) {
       } catch (IOException e2) {
       }
       return result;
   }



我在传中文参数的时候,一直乱码,导致查询结果不正确,请哪位大神指点迷津!

需要登录后回答