类似于...*.do?name=${name}&title=${title}   链接
然后这里的name和title都是汉字真是奇怪了!我试验的时候,有时候是四个及以下的汉字就没错,超过四个就提交有问题。后来我限制我四个以内之后,NND居然只有两个和两个以内的汉字提交才成功!!超过就出错!!不晓得怎么回事?我想一个可能是我吧tomcat里面的URIEncoding="UTF-8" 的原因但是又有其他乱码乱码问题都烦死了!!!请高手解决下上面的乱码问题!!谢谢!!

解决方案 »

  1.   

    不是,从来不用get!!我的那个是一个链接显示的东西!是鼠标放在上面就可以看见的一个链接!
      

  2.   

    自己写一个过滤器: 
    public class DoFilter implements Filter 
    { public void destroy() { 
    } public void doFilter(ServletRequest arg0, ServletResponse arg1, 
    FilterChain arg2) throws IOException, ServletException { arg1.setCharacterEncoding("GBK"); 
    arg2.doFilter(arg0, arg1); } public void init(FilterConfig arg0) throws ServletException { 
    } } 在web。xml中配置: <!-- 过滤器 --> 
      <filter> 
        <filter-name>encodingFilter </filter-name> 
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class> 
        <init-param> 
            <param-name>encoding </param-name> 
            <param-value>UTF-8 </param-value> 
        </init-param> 
        <init-param> 
            <param-name>forceEncoding </param-name> 
            <param-value>true </param-value> 
        </init-param> 
      </filter> 
      <filter-mapping> 
        <filter-name>encodingFilter </filter-name> 
        <url-pattern>*.jsp </url-pattern> 
      </filter-mapping>  
      <filter-mapping> 
        <filter-name>encodingFilter </filter-name> 
        <url-pattern>*.do </url-pattern> 
      </filter-mapping> 
      

  3.   

    LS的谢谢了,过滤器我有的,其他的部分都很好,就是点击 鼠标放在上面的现实这种的 ...*.do?name=${name}&title=${title}  链接时候 就会有编码不识别问题!
      

  4.   

    对接收的参数值进行new String(name.getBytes());
      

  5.   

    页面传值是用的超链接的话最好多超链接编码URLEncoder.encode("xxx.do?xxx","UTF-8");
      

  6.   

    确定${name},${title}此时是不是乱码?
      如果这个时候是乱码那要先解决URIEncoding=gb18030试试
      

  7.   

    会不会是Tomcat版本的问题,用Tomcat4.0试试看,Tomcat6.0,汉字处理要用
    String str=request.getParameter(“girle”);byte b[]=str.getBytes(“ISO-8859-1”);

      

  8.   

    可以使用
    public class ExportChar(String s){
     public static String getNewString(){
        String str=new String(s.getBytes("ISO-8859-1"),"gb2312");
        if(str.equals(s)){
          return str;
       }else{
          str=new String(s.getBytes("gb2312"),"ISO-8859-1");
          return str;
        }
     }
    }
      

  9.   

    试一下 request.setCharaterEncoding("GBK");
      

  10.   

    String names=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");