我在jsp页面中输入中文字符,传到servlet中是乱码,是不是编码的问题,怎么解决啊?

解决方案 »

  1.   

    就是那个问题   你作一个Filter  防止一下这样类似的问题
      

  2.   

    要是只针对一个servlet的话就在servlet的dopost或doget方法添加request.setCharacterEncoding("utf-8");这句话
    要是对所有的servlet要么每个都加,要么用Filter过滤器,不过建议你用过滤器
      

  3.   

    就用这个~~~当然、楼主需要注意的是、页面与Servlet的编码方式尽量一致、如果页面使用UTF那么Servlet或者你的Filter中也设置成UTF。
      

  4.   

    在页面上进行编码String a = java.net.URLEncoder.encode("中文")
    到后台解码:java.net.URLDecoder.decode(request.getParameter("a"), "UTF-8");
      

  5.   

    配置一个filter
    设置request和response的编码方式都为utf-8
    jsp里面也是、
    然后修改tomcat里面的server.xml
    具体怎么修改自己百度下、我忘了
      

  6.   

    中文乱码有很多种情况,解决的方法也不尽相同。根据具体情况而定,可以用以下方法测试一下。看哪种好用
    1。首先要保证编码方式一致,很多情况是因为编码方式不统一,造成乱码。如:UTF-8为例。
       在JSP页面中头部要有<%@ page language="java" pageEncoding="UTF-8"%>
       在head中间加上<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       这个可以确保页面编码方式是UTF-8
      其次, 将你的工程也都设置成UTF-8的编码方式,Windows -- Preferences -- General -- Content Type中可以设置,但是这是IDE级别的,建立的所有项目都会按照Content Type中的编码显示。
    也可以在myeclipse中,鼠标右击工程 -- Properties -- Resource -- Text file encoding 在other中选择utf-8,这样确保每一个类同样也是UTF-8,
      在java 类中,当你要获取页面的参数时,通过
    String   str   =   request.getParameter( "name "); 
    String   value   =   new   String(str.getBytes( "ISO-8859-1"), "UTF-8"); 
    记住必须用这种标准的格式,有时用
    String   value   =   new   String(str.getBytes( ), "UTF-8");这样有时不好使。
    2。有时还要看你用是服务器,如TOMCAT,有时需要在TOMCAT/CONF/SERVER.XML中的修改
     <Connector port="8088" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8"/>
        URIEncoding="UTF-8"加上这个。有时这个还得去掉,因为有时是类中可能已经编码方式转过了。
      

  7.   

    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");放在servlet方法里的最前头试试
      

  8.   


    request.setCharacterEncoding("utf-8");
    //在你的servlet最上边加上这句