我做了一个服务器端动态生成一个文本文件,让客户下载的功能,但是发现下载下来的文本文件都是采用U8-DOS编码的(使用UltraEdit打开,状态栏显示是U8-DOS)。但是要求必须是DOS格式的才可以。
代码如下:
// 从缓冲区中清除当前输出内容
Response.Clear(); // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename="+getSessionID()+".txt"); //// 添加头信息,指定文件大小,让浏览器能够显示下载进度
//Response.AddHeader("Content-Length", str.Length.ToString() ); // 制定返回文件的字符集
//Response.Charset = "iso-8859-2"; //设置Charset,对输入好像没有任何效果
//Response.ContentEncoding=new System.Text.UTF8Encoding();//系统只提供ASCIIEncoding、UTF8Encoding和UnicodeEnding,分别测验了一下,返回结果要么乱码,要么不是DOS字符集的。 // 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "text/text"; // 把文件流发送到客户端
Response.Write("文件开始");请问应该如何设置Response的输出字符集?
通过直接设置Response的CharSet或者ContentEncoding属性吗?
Response.Write的输入字符串是否需要转换成相应的字符集,如何转换一个字符串的字符集?请各位大侠多多帮助了,谢谢!
代码如下:
// 从缓冲区中清除当前输出内容
Response.Clear(); // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename="+getSessionID()+".txt"); //// 添加头信息,指定文件大小,让浏览器能够显示下载进度
//Response.AddHeader("Content-Length", str.Length.ToString() ); // 制定返回文件的字符集
//Response.Charset = "iso-8859-2"; //设置Charset,对输入好像没有任何效果
//Response.ContentEncoding=new System.Text.UTF8Encoding();//系统只提供ASCIIEncoding、UTF8Encoding和UnicodeEnding,分别测验了一下,返回结果要么乱码,要么不是DOS字符集的。 // 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "text/text"; // 把文件流发送到客户端
Response.Write("文件开始");请问应该如何设置Response的输出字符集?
通过直接设置Response的CharSet或者ContentEncoding属性吗?
Response.Write的输入字符串是否需要转换成相应的字符集,如何转换一个字符串的字符集?请各位大侠多多帮助了,谢谢!
解决方案 »
- 有关母板的问题
- chekbox全选 结果并插入到数据库中
- 请教获取Web.Config连接字符时出现“过时警告”的问题
- 求:昵称输入框的正则表达式校验,长度:1-6个中文或1-12个英文,格式:中英文数字符号均可,中间不能有空格.
- VS2008 Treeview bug? 头节点图标错误
- 如何访问其他人的个性化页面(Web Part)
- 一个关于GridView的问题
- 跪求如何实现ListBox控件中选项的双击事件--不是简单问题
- 怎么在服务器端更改客户端html代码
- 为什么网站在vs2008下使用vs的web服务器可以正常运行,而部署到iis中出现错误
- 一个关与ListBox的问题
- 关于中国BBS社区100强投票,请大家多多宣传,多多投票啊
如何使用GB2312啊?能否说得详细一点,因为我直接给CharSet属性设置,不会报错,但也没有任何效果。
再用Encoding.convert函数将所有需要写出的字符串转换成utf7的字符集,但是结果还是一样,好像这个convert函数一点效果都没有看到。:(
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
感谢2位的帮助,;)