HttpClient中文乱码的解决方案

过两天CRL要搞一个open house,据说是要把所有TEAM的项目都给摆出来演示,我要给DCM这个项目提供数据源,丫们不想用WEB SERVICES,要用HTTP来解决,靠,害我又花了这么多时间帮丫们解决这个问题

客户端代码:

try {

          HttpClient client = new HttpClient();

             client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");

             PostMethod mPost = new PostMethod(DCMServer);

             NameValuePair[] data = { new NameValuePair("aim",in.getSender()),new NameValuePair("message", messageNr),new NameValuePair("time",new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())) };

             // 将表单的值放入postMethod中

             mPost.setRequestBody(data);

             int statusCode = client.executeMethod(mPost);

             //System.out.println(mPost.getResponseCharSet());

             System.out.println(mPost.getResponseBodyAsString());

             //释放资源

             mPost.releaseConnection();

            } catch (FileNotFoundException e) {

             // TODO 自动生成 catch 块

             e.printStackTrace();

            } catch (HttpException e) {

             // TODO 自动生成 catch 块

             e.printStackTrace();

            } catch (IOException e) {

             // TODO 自动生成 catch 块

             e.printStackTrace();

            }

服务器端:

String aim=request.getParameter("aim");

  String message=new String(request.getParameter("message").getBytes("ISO-8859-1"),"utf-8");

 

我已经试过了,只要两边编码方式相同,把utf-8改为gbk或gb2312都行

你可能感兴趣的:(Web)