嘿伙计们我正在创建一个运行时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字符或其他语言字符...
这个问题的任何解决方案....?
答案 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