采用Response.AddHeader做文件下载,对文件名的长度有限制。如果超过18个汉字,ie下都是截取文件名的后18个汉字。超过18个汉字的部分下各个版本下显示不同。ie6下面,超出部分是乱码;文件下载之后文件名也是乱码;ie7下面,超出部分不显示,文件下载之后文件名是18个汉字;ie8下面,超出部分是省略号;文件下载之后文件名显示正常。
    谁能解决这个问题?

解决方案 »

  1.   

    没遇到过这个问题,但是应该和下面这个很相近
    http://topic.csdn.net/u/20111008/18/f27af31e-3302-4574-8b89-af9fd52f7c45.html解决方法:
    http://blog.ciznx.com/post/aspnetstreamdownloaddisplaynonunicodespacechar.aspx这个看看,已经解决了,
    经过实际应用, 没有出现bug
      

  2.   

    好像是有这个问题,ff下怎么用都可以
    你试下这个string strFilename = "没遇到过这个问题但是应该和下面这个很相近没遇到过这个问题但是应该和下面这个很相近";Response.Clear();
    Response.Buffer = true;
    Response.Charset = "GB2312";
    System.Text.Encoding code = System.Text.Encoding.GetEncoding("gb2312");
    Response.ContentEncoding = code;
    Response.HeaderEncoding = code;
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
    Response.AppendHeader("content-disposition", "attachment;filename=\"" + strFilename + ".xls\"");
    Response.ContentType = "Application/ms-excel";.....................
      

  3.   


    web.config里面globalization设GB2312
      

  4.   

    <!--<globalization requestEncoding="GB2312" responseEncoding="GB2312" fileEncoding="GB2312"/>--> 这样吗   还是乱码呢??
      

  5.   

    有例子没  给我传个  1479551321@qq。com  vs2008的
      

  6.   

    Response.HeaderEncoding = code;  重要的是这一句例子上面已经发了,没其他啥特别的了
      

  7.   


    这个就是我的
    娌¢亣鍒拌繃杩欎釜闂浣嗘槸搴旇鍜屼笅闈㈣繖涓緢鐩歌繎娌¢亣鍒拌繃杩欎釜闂浣嗘槸搴旇鍜屼笅闈㈣繖涓緢鐩歌繎.xls