iteye_5350 2012-12-07 16:05
浏览 1125
已采纳

http请求头传递中文,服务器读取指定属性为乱码

项目中用到httpClient向服务器发送http请求,具体代码如下:

[code="java"]
HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost("URL");
/**

  • 服务器端request.getHeader("zhongwen");获取
  • 的信息为乱码(尝试了一些转码方法),
  • 麻烦各位大牛帮下忙 **/ httppost.addHeader("zhongwen", "中文测试");

FileBody bin = new FileBody(new File("D://测试附件.zip"));
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("upload", bin);

httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
[/code]
如果哪位大牛有别的解决方案,
可以将“zhongwen”,"upload"两属性传递至服务器,
麻烦给下

  • 写回答

3条回答 默认 最新

  • jinnianshilongnian 2012-12-07 16:56
    关注

    1、客户端
    method.addRequestHeader("hello", URLEncoder.encode("中文", "UTF-8"));

    2、服务器
    value = URLDecoder.decode(value);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?