jsp跳转页面时传了个中文的参数,可到另一个页面时成了乱码,我用网上说的过滤器了,还是不管用,请各位大侠帮忙!!!!

解决方案 »

  1.   

    jsp 文件也要指定编码格式
      

  2.   

     tomcat的server.xml中在这个地方加上URIEncoding="utf-8"<Connector URIEncoding="utf-8" connectionTimeout="40000" maxThreads="150" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
      

  3.   

    在xml中配置的是 
    <filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>com.redv.projects.eduadmin.util.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>我程序是<a href="index.jsp?type2=网络工程">网络工程</a>然后到了index.jsp中 type2=????,可我该设成gb2312的都设了啊,怎么还是有问题
      

  4.   

    例如first.jsp中一句 <a href="index.jsp?type2=语义网">语义网</a>,怎样才能使得到index.jsp中type2不是乱码,急求!!!!!!!!
      

  5.   

    转码~
    String name = request.getParameter(textname);
    name = new String(name.getBytes("ISO8859_1"));
      

  6.   

    <%@ page language="java" import="java.util.* pageEncoding="utf-8"%>
    jsp页面的pageEncoding设置为utf-8,注意传递页面和接收页面的编码要一致,最好都是utf-8
      

  7.   

    1.jsp页面中文乱码   
    这种乱码最常见也最好解决
    在page指令中添加页面内容和显示方式的设置,如下两种都可以:
    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
    <%@ page language="java" import="java.util.*" ContentType="text/html;charset=gb2312"%> 
             有人会问pageEncoding和ContentType有什么区别,简单说 
             contentType指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码 
             pageEncoding指定JSP编写时所用的编码
    2.表单提交中文乱码 
    当用Request对象获取客户提交的汉字代码的时候,会出现乱码  
    Method=”POST”
    接收数据的文件中要加入<% request.setCharacterEncoding("gb2312");%>
    3.中文作为参数传递乱码
    new String(userName.getBytes("ISO-8859-1"), "gb2312")这句代码是转换编码格式的关键,这种转码方式还可以用在读取数据库中文乱码的转码!但要是原来的字符编码不是ISO-8859-1时这个方法就会失效,出错!
    try{
       byte[] tempByte = gbStr.getBytes("GB2312");
       uniStr = new String(tempByte,"ISO8859_1");
         }catch(Exception ex){
        }
    你也可以在直接的转换,首先你将获取的字符串用ISO-8859-1进行编码,然后将这个编码存放到一个字节数组中,然后将这个数组转化成字符串对象就可以了,例如:
    String str=request.getParameter(“字符串”);
    Byte B[]=str.getBytes(“ISO-8859-1”);
    Str=new String(B);
    4.读取cookie时出现乱码
    写入cookie时先编码
    Cookie nameCookie = new Cookie("name", java.net.URLEncoder.encode(strname,"GB2312"));
    读取cookie时再解码
    String name=java.net.URLDecoder.decode(name,"GB2312")
    或者采用树上第136页的方法
    写入cookie时先编码,将汉字编码转换为Unicode编码,解决汉字乱码问题
    读取cookie时再解码,将Unicode编码转换为汉字编码,解决汉字乱码问题
      

  8.   

    参数传汉字,你真牛!
    你还是用其他的东西代替汉字吧,虽然java对 汉字有支持,那也不至于这么用吧