不多说了,直接贴代码。为何还是乱码,注意我保存的时候选择的字符编码都是utf-8形式的。欢迎探讨 给意见。<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>无标题文档</title>
</head>
<body>
<form name="myform" action="checkbox.jsp" method="get">
  篮球
  <input type="checkbox" name="checkbox"  value="basketball" />
  足球  
  <input type="checkbox" name="checkbox" value="football" />
  羽毛球
  <input type="checkbox" name="checkbox" value="bedminteen" />
  乒乓球  
  <input type="checkbox" name="checkbox" value="pingpong" /><br /><br />
 <input type="submit" value=" 提交信息 " />
</form>
</body>
</html>下面是响应页面<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>无标题文档</title>
</head><body>
<%
request.setCharacterEncoding("UTF-8");
String ck[]=request.getParameterValues("checkbox");
%>
你选择的运动是:
<%
for(int i=0;i<ck.length;i++)
{
%>
&nbsp;&nbsp;
<%=ck[i]%>
<%}%>
</body>
</html>

解决方案 »

  1.   

    很容易,将你的method="get" 改为 method="post"get方式提交,会有中文乱码的问题。。老生常谈的月经贴,你完全可以自己google一下
      

  2.   

     method="get" 修改为"post"
      

  3.   

    method="post",method="get"这两种提交form的方式不同。get会产生中文乱码问题。
      

  4.   

    charset=UTF-8 需要改为charset=GBK
      

  5.   

    你需要看下你数据库的字符类型
    你的数据库也是UTF-8的编码数据才可以。
    如果你数据库中的数据是gb2312的,那么用utf-8读出来的,肯定是乱码。
    你需要将其改为charset=gbk或者charset=gb2312
      

  6.   

    中文乱码:
    1.页面本身的乱码,通过设置页面的字符编码
    2.在servlet中,通过out对象输出产生的中文乱码;
    3.表单采用post方式提交,数据乱码:
    a.在取数据之前用request.setCharacterEnconding("utf-8");
    b.采用过滤器
    4表单采用get方式提交,数据乱码;
    a.转码:userName=new String(userName.getBytes("iso-8859-1"),"utf-8");
    b.在tomcat的conf文件夹下的server.xml文件中,更改端口号的节点,添加属性 uriEncoding="utf-8"
      

  7.   

    楼主总是碰到乱码,就跟月经一样了,还不总结下经验。看看这个:http://blog.csdn.net/wula0010/article/details/3942321
      

  8.   

    是的,将get提交方式改为post就可以搞定了。中文乱码的原因很多,网上总结的也比较多,可以看看。
      

  9.   

    是的,以前注意过,后来忘了。其实我真正想知道的是,为何用get方式就乱码了。我前后台的数据编码方式都是一致的,而且设置了服务器端的编码格式,为何导致这样的结果,可以解释一下根本原因吗?
      

  10.   

    加下面三行代码:request.setCharacterEncoding("utf-8");
    request.setContentType("text/html;charset=utf-8");
    response.setCharacterEncoding("utf-8");基本解决了。
      

  11.   

    get方式提交乱码有单独的解决方法:
    new String(name.getBytes("iso-8859-1"), "UTF-8");//从iso-8859-1(java的默认字符串编码)转到UTF-8