【问题标题】:FSO OpenTextFile with french characters带有法语字符的 FSO OpenTextFile
【发布时间】:2012-08-15 22:12:38
【问题描述】:
使用 ASP 的文件系统对象 (FSO),我正在尝试读取带有 OpenTextFile 的 txt 文件,其中包含法语字符(e 和带有重音符号的 a,例如)。这些字符出现错误。
我尝试将format 指定为TristateTrue 以以Unicode 格式打开文件,但无济于事。
我一直在阅读有关使用 ADO Stream 对象的信息,但我希望有一种方法可以使用 FSO。有人有什么想法吗?
【问题讨论】:
标签:
asp-classic
character-encoding
fso
【解决方案1】:
文件很可能以 UTF-8 编码保存。 FileSystemObject 不处理 UTF-8。
要么将文件保存为 Unicode,要么使用 ADODB.Stream 对象。 ADODB.Stream 有一个 LoadFromFile 方法并且确实支持 UTF-8。
Dim s
Dim stream : Set stream = CreateObject("ADODB.Stream")
stream.CharSet = "UTF-8"
stream.LoadFromFile Server.MapPath("yourfile.txt")
s = stream.ReadAll
stream.Close