FSO 读取/写txt文本乱码的解决

FilesystemObject OpenTextFile
默认会用系统的编码读取文本,默认一般都是ANSI,如果服务器操作系统不支持某种语言,那么就会出乱码了。你就必须把文本转换成Unicode,同时OpenTextFile方法也设置成Unicode的方法读取。

FilesystemObject对象的OpenTextFile方法

OpenTextFile方法
该方法可以打开指定的文件并返回一个TextStream对象,可以读取此对象或将其追加到文件中。语法如下:
Object.OpenTextFile(filename[,iomode[,create[,format]]])

OpenTextFile方法的参数说明


参数 参数说明
object
必选。应为FileSystemObject对象的名称。
filename
必选。字符串表达式,指明要打开的文件名称。
iomode
可选。输入/输出模式,是下列两个常数之一:ForReading或ForAppending。如果iomode=1,以只读模式打开文件,不能对此文件进行写操作。如果iomode=8,打开文件并在文件末尾进行写操作。
create
可选。Boolean值,指出当指定的filename不存在时是否能够创建新文件。允许创建新文件时为True,否则为False。默认值为False。
format
可选。三个Tristate值之一,指出以何种格式打开文件。若忽略此参数,则文件以ASC2格式打开。如果format=-2,以系统默认格式打开文件。如果format=-1,以Unicode格式打开文件。如果format=0,以Asc2格式打开文件。

类似的还有写文件,服务器不支持中文编码,用ASCII写中文字符的时候很有可能会报错,也一样要设置CreateTextFile
方法的编码。

FileSystemObject.CreateTextFile(filename[,overwrite[,unicode]])
FolderObject.CreateTextFile(filename[,overwrite[,unicode]])


参数描述
filename必需的。需创建文件的名称。
overwrite可选的。指示能否覆盖已有文件的布尔值。True 指示可覆盖文件,False 指示不能覆盖文件。默认是 True 。
unicode可选的。指示文件是作为 Unicode 还是 ASCII 文件来创建的布尔值。True 指示文件作为 Unicode 文件创建,而 False
指示文件被作为 ASCII 文件创建。默认是 False。

其中unicode参数可以为以下几种:

-2 '以系统默认格式打开文件。
-1 '以 Unicode 格式打开文件。
0 '以 ASCII
格式打开文件

 

注意:用Adodb.Stream指定binary方式读取,再write数组,然后Response.BinaryWrite输出

 

转载于:https://www.cnblogs.com/xrxiaolong/articles/2701938.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值