Chinese characters are converted to UTF-8, a code written in an ASP written to UTF-8, you can try
Chinese characters are converted to UTF-8
Function Chinese2Unicode (STR)
DIM I
DIM STR_ONE
DIM STR_UNICODE
For i = 1 to Len (STR)
STR_ONE = MID (STR, I, 1)
STR_UNICODE = STR_UNICODE & CHR (38)
STR_UNICODE = STR_UNICODE & CHR (35)
STR_UNICODE = STR_UNICODE & CHR (120)
STR_UNICODE = STR_UNICODE & HEX (ASCW (Str_one))
STR_UNICODE = STR_UNICODE & CHR (59)
NEXT
Response.write str_unication
END FUNCTION
UTF-8 to GB2312
Function UTF2GB (UTFSTR)
For Dig = 1 to Len (UTFSTR)
IF MID (UTFSTR, DIG, 1) = "%" THEN
IF LEN (UTFSTR)> = Dig 8 THEN
GBSTR = GBSTR & CONVCHINESE (MID (Utfstr, DIG, 9))
DIG = DIG 8
Else
GBSTR = GBSTR & MID (Utfstr, DIG, 1)
END IF
Else
GBSTR = GBSTR & MID (Utfstr, DIG, 1)
END IF
NEXT
UTF2GB = GBSTR
END FUNCTION
Function convChinese (x)
A = Split (MID (x, 2), "%")
i = 0
J = 0
For i = 0 to ubound (a)
A (i) = C16TO2 (A (i))
NEXT
For i = 0 to Ubound (a) -1
DIGS = INSTR (A (i), "0")
Unicode = ""
For j = 1 to DIGS-1
IF j = 1 THEN
A (i) = Right (A (i), LEN (A (i)) - DIGS)
Unicode = Unicode & A (i)
Else
i = i 1
A (i) = Right (A (i), len (A (i)) - 2)
Unicode = Unicode & A (i)
END IF
NEXT
IF LEN (C2to16 (Unicode) = 4 THEN
CONVCHINESE = CONVCHINESE & Chrw (Int ("& H" & C2to16 (Unicode)))
Else
CONVCHINESE = CONVCHINESE & CHR (Int ("& H" & C2TO16 (Unicode)))
END IF
NEXT
END FUNCTION
Function C2TO16 (X)
i = 1
For i = 1 to Len (x) STEP 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4))))
NEXT
END FUNCTION
Function C2TO10 (X)
C2TO10 = 0
IF x = "0" THEN EXIT FUNCTION
i = 0
For i = 0 to len (x) -1
IF MID (X, LEN (X) -i, 1) = "1" THEN C2TO10 = C2TO10 2 ^ (i) Next
END FUNCTION
Function C16TO2 (X)
i = 0
For i = 1 to Len (TRIM (X))
Tempstr = C10TO2 (CINT (INT ("& H" & MID (X, I, 1)))))))
Do While Len (Tempstr) <4
Tempstr = "0" & tempstr
loop
C16TO2 = C16TO2 & TEMPSTR
NEXT
END FUNCTION
Function C10TO2 (X)
mysign = SGN (X)
X = ABS (x)
DIGS = 1
DO
IF x <2 ^ DIGS THEN
Exit do
Else
DIGS = DIGS 1
END IF
loop
Tempnum = x
i = 0
For i = DIGS TO 1 STEP-1
IF Tempnum> = 2 ^ (i-1) THEN
Tempnum = tempnum-2 ^ (i-1)
C10TO2 = C10to2 & "1"
Else
C10TO2 = C10to2 & "0"
END IF
NEXT
IF mysign = -1 TEN C10TO2 = "-" & C10to2
END FUNCTION
'======== second Function C2U (SGBSTR) DIM I, CFOR I = 1 to Len (SGBSTR) C = MID (SGBSTR, I, 1) C2U = C2U & "& # x" & hex (AscW (c)) & ";" NextEnd function '====== this function will flow into a binary string: Public function TransBinaryToStr (objObject as Variant) as StringDim i as IntegerDim nCount as IntegerDim bFlag as BooleanDim sRtn as StringDim VARCHAR AS VARIANTDIM Sheadletter as stringbflag = falsesrtn = "" ncount = lenb (objobject)
If not isnull (objobject) thenfor i = 1 to ncount'if bflag = false thenvarchar = midb (Objobject, i, 1) IF ASCB (varchar)> 127 ThensHeadletter = CSTR (HEX (ASCB (VARCHAR)) SRTN = SRTN & "%" & sheadletter'srtn = SRTN & CHR (ASCW (MIDB (Objobject, i 1, 1) & varchar)) 'bflag = trueelsesrtn = SRTN & CHR (ASCB (VARCHAR)) end if'else'bflag = FALSE 'End IfNextEnd IfTransBinaryToStr = sRtnEnd function' ====== this function can be extracted from the value you want Post string: Public function getUTF8Parameter (sParameter, sURL as Variant) as StringDim url () as ByteDim sIndex as IntegerDim nHighIndex as IntegerDim nLowIndex As IntegerDim sHighChar As StringDim sLowChar As StringDim svUrlUse As VariantDim sUrlUse As StringDim sLog As StringDim i, j, k, w As IntegerDim CurrentDim noldflag, nnewflagDim sHexToInteger As StringDim sRtn As String
Shextointeger = "123456789abcdef" SINDEX = INSTRB (SURL, SURL, SURL, SURL, SURL, SINDEX LEN (Sprameter) 2) SURLUSE = TransbinaryTostr (SVURLUSE)
If ISEMPTY (SURLUSE) OR SURLUSE = "" "Thengetutf8Parameter =" "EXIT functionendiff
K = 0NOLDFLAG = 2nnewflag = 2for i = 1 to len (surluse) current = MID (surluse, i, 1) if current = "& "hen exit forif current ="% "THENI = i 1shighchar = MID (surluse, i , 1) i = i 1Slowchar = MID (SURLUSE, I, 1) NHIGHINDEX = INSTR (SHEXTOINTEGER, UCASE (Shighchar)) NlowIndex = IRL (Slowchar)) Redim Preserve URL (J 1) URL (J ) = CBYTE (NHIGHINDEX * 16 NLOWINDEX)
J = J 1K = k 1nnewflag = 1ELSEREDIM URL (J 1) URL (j) = Cbyte (ASC (CURRENT)) J = J 1NNewflag = 2END IFIF (nnewflag = 1 and MID (surluse, i 1, 1) <> "%" Thendim Tempbyte () AS BYTEURL (UBOUND (URL)) = Cbyte (& H60) Tempbyte = URL
DIM STEMPSTEMP = STRCONV (Tempbyte, vbunicode)
SRTN = SRTN & STEMP
K = 0J = 0ELSEIF nnewflag = 2 THENSRTN = SRTN & CSTR (URL) j = 0nd ifnoldflag = nnewflagnext
Dim objhz as new afconvertlib.hzconvertdim sgb as stringobjhz.utf8togb SRTN, SGB
getUTF8Parameter = Replace (sGB, "` "," "getUTF8Parameter = Replace (getUTF8Parameter," "," `" getUTF8Parameter = Replace (getUTF8Parameter, " ", "" getUTF8Parameter = Replace (getUTF8Parameter, "` "," "
Set objhz = Nothing
END FUNCTION