你将URL的参数转换成你的项目路径试试

解决方案 »

  1.   

    可以考虑不要用中文路径。这样会带来兼容问题如果这个文件是用户上传的,你做一个数据库表UploadFile, 格式如下:id fileName originFileNamefileName随机生成,保证不能重复(最简单是用系统时间,精确到毫秒就够了), originFileName是原文件名字.上传到服务器后,将文件名改为fileName, 新增一条纪录到UploadFile表,1  abcd6868.doc  ant中文.docok, 在页面上显示超连接用originFileName,实际上连接到fileName
      

  2.   

    用java.net.urlencode转换一下不就行了么
      

  3.   

    回复人: yys79(shart-shoot) ( ) 信誉:100  2005-03-17 10:17:00  得分: 0  
     
     
       用java.net.urlencode转换一下不就行了么
      
     
    可以用这个来处理中文的URL
      

  4.   

    URL url = new URL(URLEncoder.encode("Http://localhost/ws/ant中文.doc"));
       HttpURLConnection huc = (HttpURLConnection)url.openConnection();
    tomcat控制台同样报错    java.io.FileNotFoundException:Http://localhost/ws/ant??.doc
    会出现乱码的.
      

  5.   

    url,里面好像是用一种特殊的方式传输字符串(前一阵做下载时,遇到汉字乱码问题,查了些资料,现在记不清了)
        /**
         * 将文件名中的汉字转为UTF8编码的串.
         * @param s 原文件名
         * @return 重新编码后的文件名
         */
        public static String toUtf8String(String s) {
    StringBuffer sb = new StringBuffer();
    for (int i=0;i<s.length();i++) {
        char c = s.charAt(i);
        if (c >= 0 && c <= 255) {
    sb.append(c);
        } else {
    byte[] b;
    try {
        b = Character.toString(c).getBytes("utf-8");
    } catch (Exception ex) {
        System.out.println(ex);
        b = new byte[0];
    }
    for (int j = 0; j < b.length; j++) {
        int k = b[j];
        if (k < 0) k += 256;
        sb.append("%" + Integer.toHexString(k).
        toUpperCase());
    }
        }
    }
    return sb.toString();
        }
    你试试吧,祝你好运!
      

  6.   

    URL url = new URL(URLEncoder.encode("Http://localhost/ws/ant中文.doc"));使用时要
    URLEncoder.decode("你的url")
      

  7.   

    还是不行啊.我在浏览器地址栏输入:Http://localhost/ws/ant中文.doc,它就会提示我下载.
    但在程序中建立一个URL("Http://localhost/ws/ant中文.doc")就报错.
    不知道为什么?
      

  8.   

    URL url = new URL(URLEncoder.encode("Http://localhost/ws/ant中文.doc","gb2312"));
    先试试这个 个人认为 建议楼主还是用cm4ever(小P)的意见
      

  9.   

    还是不行啊.我在浏览器地址栏输入:Http://localhost/ws/ant中文.doc,它就会提示我下载.
    但在程序中建立一个URL("Http://localhost/ws/ant中文.doc")就报错.竟然有这样的事情?
    那你看看那个错误的连接后真的还是Http://localhost/ws/ant中文.doc路径么?