Upload - use unicode (utf-8) character set for request/response data | ||
| Sample for ScriptUtils.ASPForm.CharSet |
| Upload - use unicode (utf-8) character set for request/response data | |
|---|---|
<%
'Sample file Unicode.asp
'Use unicode (utf-8) character set for request/response data.
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
Response.Charset = "utf-8"
If Form.State = 0 Then
'Set conversion character set.
Form.CharSet = Response.Charset
'
Dim DestFolder: DestFolder = Server.MapPath("UploadFolder")
'Saev source files
Form.Files.Save DestFolder
For Each Item In Form
I = I + 1
Response.Write "<br><br>Item no.:" & I
Response.Write "<br>Length:" & Item.Length
'Write unicode name of the source field.
WriteUTF8Data "<br>Name:" & Item.Name
If Item.IsFile Then
'Write unicode value of the source file name.
WriteUTF8Data "<br>File path:" & Item.FilePath
'Write source UTF-8 representation (encoded) of the same value
WriteUTF8Data "<br>Source path, encoded by UTF-8:" & Item.FilePath("x-ansi")
Else' Item.IsFile then
'Write contents for non-file fields.
'Write unicode value of the source field.
WriteUTF8Data "<br>Value:" & Item.String
'Write source representation of the same value
WriteUTF8Data "<br>Source value, encoded by UTF-8:" & Item.String("x-ansi")
End If' Item.IsFile then
Next
Response.End
End If
'Create HTML output in ANSI code page
Dim HTML
HTML = "This form demonstrates use of unicode (utf-8) character set for text fields and file names<br>"
HTML = HTML & "Try to write text / select filename with characters not in U.S. ASCII character subset.<br>"
HTML = HTML & "<form name=file_upload method=POST ENCTYPE=multipart/form-data>"
HTML = HTML & "<input Name=Description1 Size=50 Value=""Some non-U.S. ASCII chars - ìšèøžýáíéÌŠÈØŽ""><br>"
HTML = HTML & "<input Name=File1 Type=File><br>"
HTML = HTML & "<input Value=Submit >> Type=Submit><br>"
HTML = HTML & "</Form>"
WriteUTF8Data HTML
'Write utf-8 data using Session.CodePage
Sub WriteUTF8Data1(HTML)
Session.CodePage = 65001
Response.Write HTML
End Sub
'Write utf-8 data using ScriptUtils.ByteArray, without session object.
Sub WriteUTF8Data(HTML)
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")
'set ByteArray charset to UTF-8 (code page 65001)
ByteArray.CharSet = "utf-8"
'Write HTML data to byte array
ByteArray.String = HTML
'Write binary data to output.
Response.BinaryWrite ByteArray.ByteArray
End Sub
%> | |