2013-02-12 50 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