2

こんにちは、私はダウンロード用のランタイム 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 文字や他の言語の文字が含まれている場合があります...

この問題の解決策はありますか...?

4

1 に答える 1

1

さて、FileSystemObject はネイティブで UTF8 をサポートしていません。

File System Object と CreateTextFile を使用して新しいテキスト ファイルを作成する代わりに、ADODB Stream オブジェクトを使用する必要があります。

以下は、パスを strPath、ファイルの内容を strOut とする VBScript プロシージャの例です。

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
于 2012-11-05T07:12:59.897 に答える