使用经典的asp保存阿拉伯文的文件名

时间:2012-08-16 09:03:53

标签: asp-classic jnlp

嘿伙计们我正在创建一个运行时jnlp文件供下载,因为它有一些阿拉伯语或其他语言,因为文件名取自用户名...当创建时我得到了文件命名为“اخطاءأبرناÙ...ج.jnlp“

我的创建文件的代码

Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(Server.MapPath(id & "_" & user & ".jnlp"), true)
f.write(JNLPFile)
f.close
Set f = nothing
Set fs = nothing

CreateTextFile 中的“user”是用户指定的名称,有时可能包含unicode字符或其他语言字符...

这个问题的任何解决方案....?

1 个答案:

答案 0 :(得分:1)

好吧,FileSystemObject本身不支持UTF8。

您应该使用ADODB Stream对象而不是使用文件系统对象和CreateTextFile来构建新的文本文件。

以下是一个VBScript过程示例,它将您的路径作为strPath,文件内容作为strOut。

Sub Generate_File(strPath,strOut)

    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Open
    objStream.Position = 0
    objStream.Charset = "UTF-8"
    objStream.WriteText strOut
    objStream.SaveToFile server.mappath(strPath),2
    objStream.Close

End Sub