2013-02-12 76 views
1

请任何人都可以帮助我。ASP URLDecode - 错误转换

我有一个网站,谷歌图片在我的网站的一些链接,并发送throught以下网址

http://www.globalpropertyonline.net/test.asp?town=gand%EDa

我有URLDecode功能我在网上发现解码%ED

之一

但是,这似乎不是正确的方式。

的%ED应该是这样的:我

所以,当我将其解码的词应该是甘迪亚

而是我得到以下文字:gand�a

在页面,谷歌得到的链接,它显示正确的gandía,但它提示我在网站管理员工具,以下链接有一个错误500,这是因为当我尝试采取这个名称,并将其发送到MYSQL查询它崩溃与错误500,但如果我会有甘迪亚然后它的工作!

所以,我的主要问题是,我得到%ED作为URLEncode发送,因为它似乎我想解码它,然后再将其发送到我的数据库查询。

在我的ASP页面中,我使用的是UTF-8编码,如下所示。

<%@ CodePage=65001 Language="VBScript"%> 
<% 
Response.CodePage = 65001 
Response.CharSet = "utf-8" 

这是我使用对其进行解码,而是如果获取甘迪亚我得到这个代码:gand�a

任何帮助将非常apreciated

<%@ CodePage=65001 Language="VBScript"%> 
<% 
Response.CodePage = 65001 
Response.CharSet = "utf-8" 

MyTown = Request("town") 

response.write URLDecode(MyTown) 


    Function URLDecode(str) 
     str = Replace(str, "+", " ") 
     For i = 1 To Len(str) 
      sT = Mid(str, i, 1) 
      If sT = "%" Then 
       If i+2 < Len(str) Then 
        sR = sR & _ 
         Chr(CLng("&H" & Mid(str, i+1, 2))) 
        i = i+2 
       End If 
      Else 
       sR = sR & sT 
      End If 
     Next 
     URLDecode = sR 
    End Function 

%> 
+0

你试过字符的ASCII码? – polin 2013-02-12 08:39:50

+0

嗨,不,我怎么用它?而不是URLDecode? |谢谢 – user2063718 2013-02-12 10:55:34

回答

0

它看起来像您尚未将页面定义为UTF-8 客户端。您可以在此加入这里面<head></head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+0

Thansk。我已经添加了它,它没有任何区别。 – user2063718 2013-02-12 13:34:59

+0

你还在使用urldecode吗?这不再需要 – 2013-02-12 22:16:38

+0

嗨。我已经删除了URLDECODE,现在结果是一个squerblock。在这里检查:我已经创建了test2.asp来显示它。 - http://www.globalpropertyonline.net/test2.asp?town=gand%EDa – user2063718 2013-02-13 12:24:24