(求助)startup.bat启动,发送请求,接受方中文乱码,MyEclipse启动则正常

pannijingling 2016-04-27 05:21:51
开发环境:MyEclipse2015+jdk1.8.0_60+apache-tomcat-8.0.22

采用HttpClient post 进行gzip压缩发送一个请求到接口,使用MyEclipse2015加上自己配置的apache-tomcat-8.0.22启动,运行程序,传递过去后的所有数据都正常,中文也正常显示,但是如果直接使用tomcat的startup.bat启动运行程序,启动和运行都没有发生任何错误,接口方平台也能接收到信息,但中文信息会在接口方平台显示为乱码,如下图

从网络上查找过很多资料,jdk配置、环境变量、tomcat编码设置等等很多种方式都试过了,但是还是无解,请求大神们帮助查看一下,下面附上HttpClient代码
	private static String httpPost(String url,String data){
HttpClient clientP1 = new HttpClient();
PostMethod post = new PostMethod(url);
post.setRequestHeader("Accept-Encoding", "gzip");

System.out.println("-1-请求地址 "+url);
String returnStr = null;
try {
RequestEntity entity = new StringRequestEntity(data, "application/x-www-form-urlencoded", "utf-8");
post.setRequestEntity(entity);
int code = clientP1.executeMethod(post);
if (code == HttpStatus.SC_OK){
returnStr = new String(post.getResponseBodyAsString());
}
// 打印响应信息
System.out.println("-2-请求状态 "+code);
} catch (ConnectTimeoutException e) {
returnStr = "{\"repCode\":\"9999\",\"repInfo\":{\"success\":\"网络请求超时!\"}}";
e.printStackTrace();
} catch (SocketTimeoutException e) {
returnStr = "{\"repCode\":\"9999\",\"repInfo\":{\"success\":\"网络响应超时!\"}}";
e.printStackTrace();
} catch (Exception e) {
returnStr = "{\"repCode\":\"9999\",\"repInfo\":{\"success\":\"网络请求发生异常,请稍后重试!\"}}";
// 协议错误
e.printStackTrace();
}finally {
post.releaseConnection();
}
System.out.println("-3-请求结果 "+returnStr);
return returnStr;
}
...全文
135 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
pannijingling 2016-04-29
  • 打赏
  • 举报
回复
没有人来帮帮忙,给点思路吗?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧