<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<form action="AveIncreaseServlet" method="get">
<select name="cityname" onchange="return submit()">
<option>请选择</option>
<%
GongdianDao dao=new GongdianDao();
ResultSet rs=dao.queryName();
while(rs.next())
{
out.print("<option value="+rs.getString(1)+">"+rs.getString(1)+"</option>");
}
%>
</select>   
</form>
rs得到的值是中文,后台要取这个值到数据库查询~ 但取到的是乱码~怎么办~ 编码格式都已经是UTF-8了~ 而且用了过滤器 过滤器如下
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
chain.doFilter(request, response);乱码编码optionUTF-8

解决方案 »

  1.   

    String value = new String("a".getBytes("iso8859-1"),"utf-8");out.print("<option value="+value +">"+value +"</option>");
      

  2.   

    String value = new String(rs.getString(1).getBytes("iso8859-1"),"utf-8");out.print("<option value="+value +">"+value +"</option>"); 
      

  3.   

    方法一、可以用post提交,request.setCharacterEncoding("utf-8");
    方法二、String cityName = request.getParameter("cityname");
    if(cityName!=null && !"".equals(cityName.trim()))
    cityName = new String(cityName.getBytes("iso-8859-1"),"utf-8");
      

  4.   


    取到了~感谢啊~ 可是问一下 我已经用filter过滤为utf-8了丫 ~ 为什么还要转换呢 
      

  5.   

      这样的话 我从servlet 传回给JSP 要怎么编码呢、?