if (provinceName != null && !provinceName.equals("")) {
try {
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);
//以下三行必须要按顺序编写,不然会出现乱码,做开发的时候,发现使用内部局域网登录的时候,去掉第一句是没有乱码问题的,
//但是到了用apache静态绑定的外部网络登录时,就会出现乱码,只有加上第一句才可以避免
//编码方式统一看这个http://blog.csdn.net/evildog/article/details/7440524
response.setContentType("text/html;charset=GBK");//(1)
response.setCharacterEncoding("GBK");//(2)
PrintWriter out = response.getWriter();//(3)
byte[] bs= provinceName.getBytes("GBk");//有编码乱码,需要转换
String str_AreaName = new String(bs, "UTF-8");
StringBuffer sql2 = new StringBuffer(" select distinct a.city from network_msg a ");
sql2.append(" where a.province = '" + str_AreaName + "' and a.city is not null");
List<String> list = getSessionPE().createSQLQuery(sql2.toString())
.addScalar("CITY", Hibernate.STRING).list();
StringBuffer cityNames = new StringBuffer();
for (int i = 0; i < list.size(); i++) {
cityNames.append(list.get(i));
cityNames.append(",");
}
// byte[] bstemp=cityNames.toString().getBytes("UTF-8");
// str_AreaName = new String(bstemp, "GBk");
// out.print(str_AreaName);
out.print(cityNames);
return null;
} catch (Exception e) {
e.printStackTrace();
}
}