java.net.URLDecoder
java.net.URLEncoder
这2个类可以处理一下中文。
你的问题好像是已经Encode,但是没有Decode.java对中文支持得不是很好。可能还是要用new String(str.getBytes("iso-8859-1"))

解决方案 »

  1.   

    我是通过response.sendRedirect(urlstr)
    实现下载的,英文名成功,但中文名都乱码。
    请junyi2003(超级菜鸟)详细介绍您的方法好吗?
      

  2.   

    urlstr 这里做下转换应该就可以了。
    比如:
    urlstr = java.net.URLDecoder.decode(urlstr);//可能版本高低有差异,1.41好像是、decode(str,String enc)
    /*有时候上面这个方法不一定可用,没办法。*///只能用最烂最耗时间和资源的方法;
    urlstr = new String(urlstr.getBytes("iso-8859-1"));多试试吧。Jsp和JAVA的中文问题很头疼的,如果我再开发网站肯定放弃JSP.
      

  3.   

    对于“超级解霸2003”,我分别用以下3种方法编码:
    fileURL = java.net.URLEncoder.encode(localFilename); // 1
    fileURL = java.net.URLDecoder.decode(localFilename); // 2
    fileURL = new String(localFilename.getBytes("ISO-8859-1")); // 3然后重定向页面:
    response.sendRedirect(downURL + "/"+fileURL);得出:http://localhost:8080/downsoft/48%5E51%5E%B3%AC%BC%B6%BD%E2%B0%D42003.zip
    http://localhost:8080/downsoft/48^51^収?2003.zip
    http://localhost:8080/downsoft/48^51^????2003.zip
    理想的URL应是:
    http://localhost:8080/downsoft/48^51^超级解霸2003.zip
    但即使手工输入上面的地址,也报错:
    The requested resource (/downsoft/48^51^%E8%B6%85%E7%BA%A7%E8%A7%A3%E9%9C%B82003.zip) is not available.为什么不行的?
    我真的被它烦死了!!!!!!!!!
      

  4.   

    忘记说了再新版本里面
    URLEncoder.encode(String str)和URLDecoder.decode(String str)已经Deprecated.取而代之的是
    URLEncoder.encode(String str,String enc)

    URLDecoder.decode(String str,String enc)
    enc代表编码方式,比如"iso-8859-1"等
    ***********上面你可以试试看,我单位版本老试不了***********从你取得的3次值来看,可能encode和decode都要做。fileURL = java.net.URLDecoder.decode(java.net.URLEncoder.encode(localFilename)); 
    不知道这样还对不对?呵呵
      

  5.   

    如果是直接打文件名下载的话
    如 http://.../测试.doc我只知道设客户端的浏览器中在高级有一个 UTF-8 的设置,把它去掉就可以
    (我是在IIS中遇到这个问题的,不知道在Tomcat 中有没有,和如果设置)
      

  6.   

    在浏览器地址栏打
    http://localhost:8080/downsoft/%E8%B6%85%E7%BA%A7%E8%A7%A3%E9%9C%B82003.zip
    可以下载吗?我在Tomcat4.x是可以的
    %E8%B6%85%E7%BA%A7%E8%A7%A3%E9%9C%B82003.zip已经是UTF8编码了参考一下
    http://expert.csdn.net/Expert/topic/2287/2287447.xml
      

  7.   

    现在发现在Tomcat4.0下是可以支持中文URL的,但Tomcat5.0怎么也不能正确下载中文名字的文件,不知两者之间的设置有什么改变?