• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

高分急等:如何设置生成文本文件的字符集为DOS类型?

pc7 2004-11-04 10:07:42
我做了一个服务器端动态生成一个文本文件,让客户下载的功能,但是发现下载下来的文本文件都是采用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的输入字符串是否需要转换成相应的字符集,如何转换一个字符串的字符集?

请各位大侠多多帮助了,谢谢!
...全文
112 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pc7 2004-11-05
问题搞定,需要做如下设置:
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
感谢2位的帮助,;)
回复
pc7 2004-11-04
hi,icyer
如何使用GB2312啊?能否说得详细一点,因为我直接给CharSet属性设置,不会报错,但也没有任何效果。
回复
icyer 2004-11-04
使用GB2312试试
回复
jackie615 2004-11-04
up


接点分升★
回复
pc7 2004-11-04
我试过把Response.ContentEncoding=new System.Text.UTF7Encoding();
再用Encoding.convert函数将所有需要写出的字符串转换成utf7的字符集,但是结果还是一样,好像这个convert函数一点效果都没有看到。:(
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-11-04 10:07
社区公告
暂无公告