两次都是以get方式提交的,可问题是第一次没问题,第二次就乱码了

解决方案 »

  1.   

    哪两种?
    我直接用syso输出了下,是"?????"
    然后System.out.println(new String(name.getBytes("ISO-8859-1"),"UTF-8"));
    也不对。
      

  2.   

    1:页面用method="post"提交;2:在java程序中把信息写入excel那里设置一下编码:request.setCharacterEncoding("utf-8");如果处理excel那里你设置了响应头,就这样设置response.setContentType("application/octet-stream;charset=utf-8");
      

  3.   

    第一种不可行,因为当360第二次请求下载的时候 ,是直接以url方式请求的,页面上只有类似http://localhost:8080/OD/downLoad.action?name=xxx这样的链接,这不可以设置为post吧?
    第二种方式我试了下,也不行。当到action的时候,参数都应该已经包装好了吧,这个时间再设没有什么意义了吧?
    其实还有个过滤器呢,request.setCharacterEncoding("UTF-8");过滤器里面我也已经设置了。
    另外,我在你说的最后一条改成这样了,也是不行。 <param name="contentType">application/vnd.ms-excel;charset=utf-8</param>
      

  4.   

    System.out.println(new String(name.getBytes("utf-8"),"ISO-8859-1"));
      

  5.   

    唉,小项目。给公司用的,那些女人们问题多多唉这么多浏览器倒不怕,最恶心的是,不遵循大多数浏览器的准则,非要搞点特殊化!
    这个,我试了下,IE系列,chrome,firefox,等等都可以的。就这玩意。