在web.config文件中设置(将utf-8改成gb2312):
<!--  全球化
          此节设置应用程序的全球化设置。    -->
    <globalization 
            requestEncoding="gb2312" 
            responseEncoding="gb2312" 
   />

解决方案 »

  1.   

    to acewang:
    我不是说过Server.UrlEncodey已经试过了吗?不行呀
    如ftp://douzc:[email protected]/vc/第一章(1).ppt编码后为
    ftp%3a%2f%2fdouzc%3adouzc%40202.113.229.160%2fvc%2f%b5%da%d2%bb%d5%c2(1).ppt
    还是不行的
      

  2.   

    这样试试:
    string str=System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes("ftp://nkdzc:[email protected]/中文/中文.zip"));
    Response.Redirect(str);
      

  3.   

    效果和上面的几种方式相同,也不行,原因是这些编码方式把:,/等字符都编码了,无法再识别http://  ftp:// 等标识了
      

  4.   

    To:hillseok
    是这样的,整个路径都是存储在数据库中的,自己并不知道在哪里是中文;另外,前面的字符串是什么意思?用户输入的路径是多样的,可以是http:// 形式,也可以是ftp://,还可以是https://
    等,也可以是一个相对路径,因为无法手动添加前面部分不知道大家在处理类似ftp数据访问的时候是怎么做的?我的基本目的就是在访问ftp时不让用户知道密码,如果采用Response.Redirect