讨论下面的一个问题,
用eclipse ee建立一个dynamic web program ,写一个页面index.jsp包含一个表单输入框name="data",然后添加一个servlet,把表单提交到servlet,然后获取data的内容,
请问我怎么能够获取以utf8编码的data的内容啊....前提:
首选项的工作空间编码 utf8
jsp页面  contentType="text/html; charset=utf-8" pageEncoding="utf-8"
jsp的html内容 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
tomcat的conf/server.xml URIencoding="utf8"请大牛们帮忙,我无论怎么操作都不能得到想要的结果
iso-8859-1 to utf-8  错  得到的是GBK的编码
iso-8859-1 to gbk    错 得到的还是GBK的编码...求人关注,不明白我的问题可以提问,希望能够解决问题,先谢谢大家了;

解决方案 »

  1.   

    servlet 里面request.setCharacterEncoding("UTF-8"); 
      

  2.   

    会不会时你浏览器的默认提交方式不是utf—8你可以在jsp页面里面添加如下代码
    <%
    request.setCharacterEncoding("utf—8");
    %>
    注意是写在《html》标签外面
      

  3.   

    提交方式为get,使用ajax提交,我现在找到一个方案,在转完编码之后需要用sring.getBytes("utf-8")才能得到以utf-8编码的byte数组。
    然而事情不总那么美好,
    在chrom下是好的,在IE下却得到的是iso-8859-1的byte数组。
    能知道是什么问题吗?
      

  4.   

    用过滤器,并且尽量用POST方式提交。
      

  5.   

    我的问题不是汉字乱码,而是要得到汉字的utf-8编码形式的byte数组
      

  6.   

    1.在构造url是用javascript自带的encodeURIComponent方法将参数进行编码,下面是代码      var url = "handel.jsp?name="+encodeURIComponent(document.form1.name.value);
          httpRequest = createHttpRequest();
          httpRequest.onreadystatechange = aa;
          httpRequest.open("GET",url,true);
          httpRequest.send(null);2.为了解决返回值XMLHttpRequest.resopnseText中文乱码的问题,需要设置下面这句话:response.setHeader("Charset","UTF-8");
    http://smallbottlecover.blog.hexun.com/10910911_d.html
      

  7.   

    在conf/server.xml中设置为utf-8时貌似是URIEncoding="utf8"写的吧!!!
      

  8.   

    这样试一下
    String ss = new String(Request().getParameter("名").getBytes("ISO-8859-1"),"utf-8"));
    或者
    String ss = new String(Request().getParameter("名").getBytes("ISO-8859-1"),"gb2312"));然后
    ss.getBytes("utf-8");
      

  9.   

    大哥试过用ie提交这个值吗?,我在ie下还是iso的编码的byte值
      

  10.   

    request.setCharacterEncoding("UTF-8");设置完了之后中文是不乱码了, 但是也不是UTF-8的编码,大家可以用getBytes方法来看一看里面的值。utf-8和gbk的是不一样的 
      

  11.   

    ajax最好用post方式传值,再用response设置一下setheader()编码