用阿拉伯语保存文件名使用传统的asp
问题描述:
嘿家伙我正在创建一个运行时jnlp文件下载,并在那里我卡住了文件名,因为它有阿拉伯语或其他语言的一段时间,因为文件名需要从用户名...当与创建我得到的文件名称为“اخطاءآOO±Ù†Ø§Ù...ج.jnlp”用阿拉伯语保存文件名使用传统的asp
我为创建文件
代码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“用户”是通过其可以有时含有UNIC用户给定的名称ode字符或其他语言字符...
这个问题的任何解决方案....?
答
那么,FileSystemObject本身不支持UTF8。
你应该做什么而不是使用File System Object和CreateTextFile来构建一个新的文本文件是使用ADODB Stream对象。
以下是一个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
让你确信变量'user'包含在MapPath和CreateTextFile调用中使用的正确文本_before_? – AnthonyWJones 2012-08-16 14:07:45
以及变量'用户'收到表单输入,这是什么,但用户名...所以我认为这将只是一个正常的文本,不会是空间或特殊字符在里面......后来我得到知道他们还想输入其他语言字符......保存jnlp文件的主要动机是客户端希望jnlp自动加载而不要求他在**'IE' **浏览器中保存或打开...所以刺激下载我已经保存在服务器中的文件,我打电话给它...如果不是那里不会是一个问题... – 2012-08-17 10:17:39
你确定窗体输入值使其正确的服务器端变量?我非常强烈地怀疑它不是。 – AnthonyWJones 2012-08-17 17:01:13