方案一:
在windows7系统下,新建一个系统变量(计算机图标上右键——属性——左侧“高级系统设置”——“高级”环境变量——系统变量——新建),变量名为JAVA_TOOL_OPTIONS,变量值为-Dfile.encoding=UTF-8。这样在每次执行java类的工具时,会临时地设置编码格式为UTF-8
方案二:
通过java代码进行转码,当然这种方式是最后的解决方法,建议还是看第一种方式是否能够解决编码问题
//将map放到list集合
list.add(map);
//根据list集合的size循环获取参数
for (int k = 0; k < list.size(); k++) {
String ye2=list.get(k).get("power").toString();
System.out.println(ye2);
String power="";
if(ye2.length()<=3){
power=ye2.substring(0,1)+"级";
System.out.println(power);
}else
if(ye2.length()==4){
power=ye2.substring(0,2)+"级";
System.out.println(power);
}else{
power="暂无实况";
System.out.println(power);
}
weatherinfo.setWeatherId("1");
weatherinfo.setTemperature( new String(list.get(k).get("temperature").toString().getBytes("UTF-8"), "UTF-8"));//温度
weatherinfo.setInfo(new String(list.get(k).get("info").toString().getBytes("GBK"), "UTF-8"));//天气
weatherinfo.setPower(new String(power.toString().getBytes("UTF-8"), "UTF-8"));//风力
weatherinfo.setHumidity(new String(list.get(k).get("humidity").toString().getBytes("GBK"), "UTF-8"));//湿度
weatherinfo.setDirect(new String(list.get(k).get("direct").toString().getBytes("GBK"), "UTF-8"));//风向
weatherinfo.setWid(new String(list.get(k).get("wid").toString().getBytes("GBK"), "UTF-8"));//天气类型
}