博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FSO 读取/写txt文本乱码的解决
阅读量:4657 次
发布时间:2019-06-09

本文共 1312 字,大约阅读时间需要 4 分钟。

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

你可能感兴趣的文章
开源控Meteor的个人资料
查看>>
kafka在zookeeper中的存储结构
查看>>
linux上FTP服务器搭建
查看>>
.net 使用AgsXMPP与openfire连接,实现跨平台信息流通。
查看>>
DP动态规划【专辑@AbandonZHANG】
查看>>
Android TextureView简易教程
查看>>
fatal: the remote end hung up unexpectedly
查看>>
Delphi-操作剪贴板
查看>>
hdu 1029
查看>>
Docker 容器的网络连接 & 容器互联
查看>>
吾爱专题脱壳练习----压缩壳练习之三
查看>>
LeetCode -- Palindrome Linked List
查看>>
栈应用——逆波兰式表达式的值
查看>>
vscode 快速生成html
查看>>
HTML5 全屏化操作功能
查看>>
返本求源——DOM元素的特性与属性
查看>>
4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托
查看>>
部署DLL webservices 若干费脑点
查看>>
zabbix监控报错zabbix server is not running解决方法
查看>>
MyEclips快捷键,多行注释
查看>>