The best way:
Let me talk about the basics first:
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>Simplified Chinese
<%@ codepage=950%>Traditional Chinese
<%@ codepage=437 %>U.S./Canada English
<%@ codepage=932 %> Japanese
<%@ codepage=949 %>Korean
<%@ codepage=866 %>Russian
codepage specifies what code IIS reads the passed string (form submission, address bar delivery, etc.).
The reason for garbled code is that the module encoding is different when the website needs to be integrated.
Just like my blog, this problem will occur when integrating because the BLOG is from Utf-8.
Recently, many netizens have been consulting on this issue, and I have tried many methods.
The most convenient method is as follows:
Do not convert any module web page encoding the utf-8 or utf-8, and the Gb22312 or Gb2312
In the Utf-8 module package documentation (such as conn.asp, but be aware that conn.asp must be called on the first line) add the first line.
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
Add in front of the package document of GB2312 module
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
Other encodings and so on.
Conversion between Chinese characters and UTF-8 in ASP
'================== Convert Chinese characters to UTF-8==========================
function chinese2unicode(Str)
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
chinese2unicode = Str_unicode
end function
'================== UTF-8 converted to Chinese characters=========================
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 ubund(A)
A(i)=c16to2(A(i))
next
for i=0 to ubund(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(int("&h" & mid(x,i,1))))