阿杰 发表于 2010-6-26 08:23:07

server.urlEncode不能转换字母的解决办法

server.urlEncode不能转换字母怎么办,通过实验,写出以下函数,很好用的。
<%

response.write (ur1Encode("汉字123abc http://www.3w6.net"))'调用例子

function ur1Encode(s)
dim i,c,enStr
for i=1 to len(s)
   c=Mid(s,i,1)
   if (asc(c)>=65 and asc(c)<=90) or (asc(c)>=97 and asc(c)<=122) or (asc(c)>=48 and asc(c)<=57) then'英文或数字
    enStr=enStr&en(c)
   else
    enStr=enStr&server.urlEncode(c)
   end if
next
ur1Encode=enStr
end function
function en(c)
select case c
   case "0":en="%30"
   case "1":en="%31"
   case "2":en="%32"
   case "3":en="%33"
   case "4":en="%34"
   case "5":en="%35"
   case "6":en="%36"
   case "7":en="%37"
   case "8":en="%38"
   case "9":en="%39"
   case "A":en="%41"
   case "B":en="%42"
   case "C":en="%43"
   case "D":en="%44"
   case "E":en="%45"
   case "F":en="%46"
   case "G":en="%47"
   case "H":en="%48"
   case "I":en="%49"
   case "J":en="%4A"
   case "K":en="%4B"
   case "L":en="%4C"
   case "M":en="%4D"
   case "N":en="%4E"
   case "O":en="%4F"
   case "P":en="%50"
   case "Q":en="%51"
   case "R":en="%52"
   case "S":en="%53"
   case "T":en="%54"
   case "U":en="%55"
   case "V":en="%56"
   case "W":en="%57"
   case "X":en="%58"
   case "Y":en="%59"
   case "Z":en="%5A"
   case "a":en="%61"
   case "b":en="%62"
   case "c":en="%63"
   case "d":en="%64"
   case "e":en="%65"
   case "f":en="%66"
   case "g":en="%67"
   case "h":en="%68"
   case "i":en="%69"
   case "j":en="%6A"
   case "k":en="%6B"
   case "l":en="%6C"
   case "m":en="%6D"
   case "n":en="%6E"
   case "o":en="%6F"
   case "p":en="%70"
   case "q":en="%71"
   case "r":en="%72"
   case "s":en="%73"
   case "t":en="%74"
   case "u":en="%75"
   case "v":en="%76"
   case "w":en="%77"
   case "x":en="%78"
   case "y":en="%79"
   case "z":en="%7A"
end select
end function

薛冰 发表于 2010-10-29 07:44:11

今天星期五 明天可以休息了 哈哈。












http://www.cnbzx.com/images/sign.gif
化妆品宁波装修公司seo资源网   爱车汽车什么减肥药效果最好 淘宝减肥药排行榜

zmh886 发表于 2010-10-31 23:00:12

本来就不用转 在搜索的时候一般都是只转汉字

abc123%E6%B1%89%E5%AD%97

zmh886 发表于 2010-10-31 23:03:40

Function UrlToHex(Url)
    Dim i As Integer
    For i = 1 To Len(Url)
      Dim a As String
      a = Format$(hex(Asc(Mid(Url, i, 1))), "00")
      If Len(a) = 4 Then
            UrlToHex = UrlToHex & "%" & Left(a, 2) & "%" & Right(a, 2)
      Else
            UrlToHex = UrlToHex & "%" & IIf(Len(a) = 2, a, "0" & a)
      End If
    Next
End Function

直接重新写函数就可以转了

zmh886 发表于 2010-10-31 23:06:06

vb版本的

asp版本把DIM 后面as * 去掉
a=doublenum(a)
function doublenum(fNum)
    if len(fNum)=2 then
      doublenum = fNum
    else
      doublenum = "0" & fNum
    end if
end function
页: [1]
查看完整版本: server.urlEncode不能转换字母的解决办法