CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

FSO生成的文件默认是什么编码格式?如何转换成UTF-8编码?

楼主fusoft(黑马)2006-03-27 11:08:15 在 Web 开发 / ASP 提问

ASP中用FSO生成XML文件代码如下  
   
  XMLcontent   =   "<?xml   version='1.0'   encoding='UTF-8'?>。。。。省略"  
   
  Set   FSO=Server.CreateObject("Scripting.FileSystemObject")  
          Set   Rs=FSO.CreateTextFile(Server.mappath("test.XML"),true)  
                  Rs.writeLine   XMLcontent  
          Set   Rs=Nothing  
  Set   FSO=Nothing  
   
  请问  
  1,FSO生成的文件默认是什么编码格式?  
  2,如何转换成UTF-8编码? 问题点数:100、回复次数:11Top

1 楼meizz(梅花雪)回复于 2006-03-27 11:22:46 得分 0

FSO.CreateTextFile(Server.mappath("test.XML"),   true,   true)   '最后一个参数是指定编码格式为   Unicode   而默认或者不设值的话是ASCIITop

2 楼sky0120(忍者鱼)回复于 2006-03-27 11:26:12 得分 0

学习Top

3 楼shrockey(天天想您)回复于 2006-03-27 11:34:30 得分 0

我也想知道答案Top

4 楼sxsgssgs(.net新手)回复于 2006-03-27 11:36:33 得分 50

这样试试  
  set   myfile   =   myfso.CreateTextFile(dic,true,true)   '创建文件test.txt  
   
  ===================================  
  CreateTextFile   方法  
  创建指定文件并返回   TextStream   对象,该对象可用于读或写创建的文件。  
   
  object.CreateTextFile(filename[,   overwrite[,   unicode]])  
   
  参数  
  object  
   
  必选项。应为   FileSystemObject   或   Folder   对象的名称。  
   
  filename  
   
  必选项。字符串表达式,指明要创建的文件。  
   
  overwrite  
   
  可选项。Boolean   值指明是否可以覆盖现有文件。如果可覆盖文件,该值为   True;如果不能覆盖文件,则该值为   False   。如果省略该值,则不能覆盖现有文件。  
   
  unicode  
   
  可选项。Boolean   值指明是否以   Unicode   或   ASCII   文件格式创建文件。如果以   Unicode   文件格式创建文件,则该值为   True;如果以   ASCII   文件格式创建文件,则该值为   False。如果省略此部分,则假定创建   ASCII   文件。  
  Top

5 楼fusoft(黑马)回复于 2006-03-27 13:00:08 得分 0

如何使生成的文件是UTF-8编码格式呢?Top

6 楼fusoft(黑马)回复于 2006-03-28 09:51:28 得分 0

如何使生成的文件是UTF-8编码格式呢?  
  Top

7 楼blow_jj(阿俊)回复于 2006-03-28 10:58:07 得分 0

Unicode=UTF-16  
  为啥非要8而不是16呢。。。要是非要用估计要用别的方法实现了Top

8 楼blow_jj(阿俊)回复于 2006-03-28 10:59:25 得分 0

应该说Unicode=UTF-8   UTF-16   UTF-32合集,默认情况下理解为16Top

9 楼ssdx(未来啊未来)回复于 2006-03-28 11:13:52 得分 0

跟问个弱的问题,能不能设置为gb2312?Top

10 楼larksky(飞天)回复于 2006-03-28 13:21:12 得分 0

FSO不支持直接生成UTF-8格式的文件,因为它无法指定你需要的文件格式,必须换一种思路,用Adodb.Stream,这个你可以看一下当前一些blog程序里面是如何实现的,我看的是zblog的,里面有相应的代码。Top

11 楼blow_jj(阿俊)回复于 2006-03-28 15:32:27 得分 50

ASP中操作UTF-8格式的文件  
  注意:这里说的ASP可不是ASP.net。  
  ASP由于是一种古老的语言,它的一些功能对UTF-8支持非常差。  
  比如,你想生成一个UTF-8格式的文件,使用常用的   Scripting.FileSystemObject   对象就不行。  
   
  Scripting.FileSystemObject   对象创建文件的函数,是下面方式:  
  FileSystemObject.CreateTextFile(filename[,overwrite[,unicode]])  
   
  其中的   unicode   属性是这样描述的:  
   
  可选项。Boolean   值指明是否以   Unicode   或   ASCII   文件格式创建文件。如果以   Unicode   文件格式创建文件,则该值为   True;如果以   ASCII   文件格式创建文件,则该值为   False。如果省略此部分,则假定创建   ASCII   文件。  
   
  我们是无法用这个函数来创建UTF-8格式文件的。  
  这时候,我们可以使用   ADODB.Stream   对象,使用方法见下面:  
   
  Set   objStream   =   Server.CreateObject("ADODB.Stream")  
          With   objStream  
          .Open  
          .Charset   =   "utf-8"  
          .Position   =   objStream.Size  
          .WriteText=str  
          .SaveToFile   server.mappath("/sitemap.xml"),2    
          .Close  
          End   With  
  Set   objStream   =   Nothing  
   
  附:  
  ASCII   、Unicode   、   UTF-8   介绍:  
  ASCII   是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是   0-127。  
   
  由于   ASCII   表示的字符非常有限,各个国家或者地区在此基础上提出了自己的字符集,比如在中国应用非常广泛的   GB2312,它为汉字提供了编码,用两个字节表示。  
   
  这些字符集之间互不兼容,相同的数字可能表示不同的字符,为信息交流带来了麻烦。  
  Unicode   是一种字符集,它将世界上的所有字符映射成一个唯一的数字(code   point),比如字母   a   对应的数字   0x0041。目前   Unicode   还处于发展中,它所包容的字符越来越多。    
   
  在将   Unicode   表示的字符进行存储时,还需要一定的编码方式,比如   UCS-2,它用两个字节来表示   Unicode   编码的字符。而   UTF-8   是   Unicode   字符集的另外一种编码方式,它是变长度的,最多   6   个字节,小于   127   的字符用一个字节表示,与   ASCII   字符集的结果一样,因而具有非常好的兼容性,ASCII   编码下的英语文本不需要修改就可以当作   UTF-8   编码进行处理,应用非常广泛。  
   
  UTF-8   and   Unicode   FAQ  
  http://www.linuxforum.net/books/UTF-8-Unicode.html  
   
  ADODB.Stream组件Charset属性值  
  http://www.5iya.com/blog/post/adodb_stream_charset_value.asp  
   
  用ADODB.Stream代替FSO读取文本文件  
  http://www.99net.net/study/page/1025101521.htm  
   
  转自http://blog.joycode.com/ghj/Top

相关问题

  • 请问fso怎么才能生成utf-8编码的文件?
  • 怎么根据现有编码中的几位生成另一个新编码
  • 用BCB如何生成Unicode编码的程序?
  • C#生成GBK编码的xml文件,救急
  • 如何用编码自动生成文件夹?
  • 根据首次输入的编码规则自动生成编码的问题!!~~~~~~顶者有分
  • fso生成静态网页的问题?
  • fso生成html页的问题
  • 一个自动生成编码的存储过程的问题(SQL SERVER)
  • 求一个能生成字符串(包括汉字@-@)的Hex编码的函数!

关键词

  • .net
  • 编码
  • 文件
  • unicode
  • xml
  • server
  • fso
  • 生成
  • 格式
  • createtextfile

得分解答快速导航

  • 帖主:fusoft
  • sxsgssgs
  • blow_jj

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo