首页Index.jsp有个表单,提交到userloginservlet,在userloginservlet里得到的提交内容汉字是乱码呀。
首页设置为<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
在userloginservlet的代码为
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String station = request.getParameter("station");
station= new String(station.getBytes("gb2312"));
PrintWriter out=response.getWriter();
out.println(name);
out.println(pwd);
out.println(station);
哎,怎么弄都不行呀 请高手指点!MyEclipse默认编码为UTF-8
 另外说明下我的代码是从网上下载的,难道是它本身代码的编码问题吗?

解决方案 »

  1.   

    页面中设置requset.setCharacterEncoding("gb2312") ;
      

  2.   

    gb2312 改 成 utf-8   
      

  3.   

    不知道你用的应用服务器是什么。
    假如是tomcat的话。他的默认编码是:ISO-8859-1
    改成这样:station= new String(station.getBytes("ISO-8859-1"),"gb2312");
    因为你的请求,会经过tomcat这一点。他会转一次。
      

  4.   

    http://blog.csdn.net/shiqidide/article/details/6987449
      

  5.   

    把你工程中的所有编码方式统一起来 都改成UTF-8 过滤器也弄成UTF-8一般不会出现中文乱码。编码要统一
      

  6.   

    同意楼上,还有你的工程文件的属性也应该是UTF-8
      

  7.   

     3 4 6楼的方法都试过了,还是不行呀!并且把index.jsp的编码改成utf-8或iso-859-1后,index.jsp刷新后就成乱码了,也就是说index.jsp只能是gb2312了。无语啦!求救!!
      

  8.   

    1、页头这么设置:<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
    2、tomcat里面的server.xml里面设置成:
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false" redirectPort="8443" acceptCount="100"
        connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
      

  9.   

    加一个过滤器把你所有页面过滤成UTF-8
      

  10.   

    requset.setCharacterEncoding("gb2312") ;
      

  11.   

    response.setCharacterEncoding("gb2312") ;
      

  12.   

    requset.setCharacterEncoding("gb2312") ;
    response.setCharacterEncoding("gb2312") ;
    设置看看
      

  13.   

    1.把gb2312改成utf-8  2.
    response.setContentType("text/html;charset=utf-8");
    response.setCharacterEncoding("utf-8");
    把 response 改成相应的访问控制对象
      

  14.   

    用二楼的方法就行了。
    配置一个filter,然后对request进行过滤,设置编码格式。
      

  15.   


    前边大侠们说的都各有道理: 我通常的做法是  
    首先,在servlet开始语句加上
    response.setContentType("text/html;charset=utf-8");
    response.setCharacterEncoding("utf-8");
    其次,对乱码的汉子进行一个转码。 例如,station= new String(station.getBytes("ISO-8859-1"),"gb2312");
    再次,加一个过滤器把你所有页面过滤成UTF-8。3道防线 绝对可靠
    三个都做了如果还是不行,就把 station= new String(station.getBytes("UTF-8"),"gb2312");
    试试。