从服务器下载文件中文名乱码解决方法

 try
        {
            string excelName = Request["excelName"].ToString(); //文件路径
            string fileName = Request["fileName"].ToString(); //下载的文件名
            if(!(string.IsNullOrEmpty(excelName)|| string.IsNullOrEmpty(fileName)))
            {
                Response.Charset = "GB2312";
                Response.ContentEncoding = Encoding.GetEncoding("GB2312");
                Response.ContentType="application/vnd.ms-excel";
                //火狐浏览器不需将中文文件名进行编码格式转换
                if (Request.ServerVariables["http_user_agent"].ToLower().IndexOf("firefox") == -1)
                {
                    excelName = HttpUtility.UrlEncode(excelName, System.Text.Encoding.UTF8);
                }
                Response.AppendHeader("Content-Disposition", "attachment;filename=" +excelName);
                Response.WriteFile(fileName);
                Response.Flush();
                Response.Close();
            }
        }
        catch
        { }

注意判断浏览器 IE需要将中文文件名编码格式转换,而firefox浏览器则不用,不然下载下来的中文文件名会乱码

时间: 2024-11-09 18:47:34

从服务器下载文件中文名乱码解决方法的相关文章

Android下载文件常见错误解决方法

最近在学习Mars老师的Android开发课程,仿照http://www.cnblogs.com/Laupaul/archive/2012/02/12/2348293.html的代码来写应用,结果中间出了各种各样的问题,在这里总结一下: 1. java.lang.NullPointerException报错,android.os.NetworkOnMainThreadException异常 原因:urlCon.getInputStream()执行的时候出错导致,得不到InputStream.这个

HTML文件、网站文件编码乱码解决方法

解决方法1:(设置页面编码) <html><head><meta charset="utf-8" /></head></html> 解决方法2:(利用记事本改变文件实质编码) 将源文件代码全部复制到记事本,然后“另存为1.html”,保存时需选择UTF-8编码. 解决方法3:(修改web.config文件) 在webconfig中加入<globalization requestEncoding="utf-8&q

Eclipse的properties文件中文乱码解决方法

转自:http://jingyan.baidu.com/article/ed2a5d1f3381d709f6be17f8.html 打开Myeclipse,找到window这一栏,点击Preference 2 然后会弹出一个窗体,点击General展开选项,然后点击Content Types 3 在右边的窗口中点击Text展开,然后点击java Properties File 4 将下面的编码格式设置成UTF-8就能解决java Web项目文件中的config.properties文件中文乱码的

flask下载文件中文名乱码终极解决方案python3版本

flask(0.11.2)+python3.6 兼容各个主流浏览器,已经过各种测试(chrome,firefox,safari,IE,Edge) quote是将文件名urlencode化,然后以适应Edge浏览器 from urllib.parse import quote # for python3 # from urllib import quote for python2 @app.route('/file/download/<filename>', methods=['GET']) d

从windows上传文件到linux,中文名乱码解决方法

上传一个名称为"一级页面.html"的文件到linux服务器 ll命令查看文件名是乱码 在windows上将html文件压缩为test.zip,上传到linux服务器 再在服务器上unzip解压,解压后文件名称就显示正常了. 此种方法对目录也有效.

arcgis for android 读取shp文件中文乱码解决方法

设置注册表默认字符,即可解决中文乱码问题. 'dbfDefault' 设置方法1.开始--运行,输入”Regedit“,打开注册表.2.如是用的是 10.x 版本 ArcGIS Desktop,定位到”My Computer\HKEY_CURRENT_USER\Software\ESRI\Desktop 10.x' (如果是9.3.1之前的版本,定位到 'My Computer\HKEY_CURRENT_USER\Software\ESRI').3.创建项 'Common',接着创建 'Code

MYSQL数据库导入SQL文件出现乱码解决方法

导入的方法: a. b. mysql -u root -D test </test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,可能在最终结果中出现乱码,此时只需在导入的SQL文件第一行加入如下内容 即可. a) /*!40101 SET NAMES utf8 */; b) 设置文件编码格式为 UTF-8 编码格式

[转]JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案

时间 2014-04-14 14:33:44  CSDN博客 原文  http://blog.csdn.net/xby1993/article/details/23677375 主题 ServletJSP JSP或servlet中中文乱码的解决方案: 1.以POST请求方式: 在获取请求参数之前设置: request.setCharacterEncoding("utf-8"); 设置输出编码: response.setContentType("text/html;charse

PHP使用文件流下载文件方法(附:解决下载文件内容乱码问题)

记得高中时候做过游戏私服,那时候的游戏主页是用PHP写的,因为文件很固定,客户端,登陆器和一些小工具,文件数目也不是很多,所以都是直接把下载链接写死的,直接链接到本地服务器的文件目录,今天QQ群有个朋友突然问我用文件流做PHP下载功能,顺手写了个小Demo,代码很简单,注释也全,直接上代码吧~ 1.flush — 刷新输出缓冲 2.ob_clean — 清空(擦掉)输出缓冲区 此函数用来丢弃输出缓冲区中的内容. 此函数不会销毁输出缓冲区,而像 ob_end_clean() 函数会销毁输出缓冲区.