asp提示框乱码是页面编码和文件的编码不一致或者未设置编码导致的。
1、如果程序文件代码是utf8,也就是文件包含charset=utf-8,文件保存时编码应该保存为utf-8格式,文件保存如下图。
2、如果程序代码是gb2312,文件保存的时候编码选择ANSI。
3、如果页面未设置编码,需要设置一下编码,页面中写
<meta http-equiv="content-type" content="text/htmlcharset=gb2312" />或
<meta http-equiv="content-type" content="text/htmlcharset=utf-8" />
ASP 的编码最好就使用 gb2312 的即可。请在网页中加如下结构,保证你的 asp 不会出现乱码或者空白现象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<link rel="stylesheet" type="text/css" id="css" href="images/style.css">
<title></title>
</head>
<body>
<!--content-->
</body>
</html>
ASP有编码的函数:Server.UrlEncode但是没有解码的函数。解码需要自己去写。网上有完整的解码函数。
function URLDecode(strIn)
URLDecode = “”
Dim sl: sl = 1
Dim tl: tl = 1
Dim key: key = “%”
Dim kl: kl = Len(key)
sl = InStr(sl, strIn, key, 1)
Do While sl>0
If (tl=1 And sl<>1) Or tl<sl Then
URLDecode = URLDecode &Mid(strIn, tl, sl-tl)
End If
Dim hh, hi, hl
Dim a
Select Case UCase(Mid(strIn, sl+kl, 1))
Case “U”:’Unicode URLEncode
a = Mid(strIn, sl+kl+1, 4)
URLDecode = URLDecode &ChrW(“&H” &a)
sl = sl + 6
Case “E”:’UTF-8 URLEncode
hh = Mid(strIn, sl+kl, 2)
a = Int(“&H” &hh)’ascii码
If Abs(a)<128 Then
sl = sl + 3
URLDecode = URLDecode &Chr(a)
Else
hi = Mid(strIn, sl+3+kl, 2)
hl = Mid(strIn, sl+6+kl, 2)
a = (“&H” &hh And &H0F) * 2 ^12 Or (“&H” &hi And &H3F) * 2 ^ 6 Or (“&H” &hl And &H3F)
If a<0 Then a = a + 65536
URLDecode = URLDecode &ChrW(a)
sl = sl + 9
End If
Case Else:’Asc URLEncode
hh = Mid(strIn, sl+kl, 2)’高位
a = Int(“&H” &hh)’ascii码
If Abs(a)<128 Then
sl = sl + 3
Else
hi = Mid(strIn, sl+3+kl, 2)’低位
a = Int(“&H” &hh &hi)’非ascii码
sl = sl + 6
End If
URLDecode = URLDecode &Chr(a)
End Select
tl = sl
sl = InStr(sl, strIn, key, 1)
Loop
URLDecode = URLDecode &Mid(strIn, tl)
End function
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)