2011-11-01 50 views
0

我通過使用HTTPUtility.URLDecode解碼URL中的字符。下面是字符我不得不進行解碼:在URL中解碼外語字符

%26 = 「&」
%28 = 「(」
%29 = 「)」
%20 = 「」
%5B = 「[」
%5D = 「]」
%2C = 「」
%23 = 「#」
%F3 = 「O」(西班牙字符)

HTTPUtility.URLDecode上除了最後的偉大工程一。我現在正在對最後一個字符進行查找/替換,但希望有一個更好的自動方式,所以我不必在將來更新查找/替換。

+3

我認爲URL字符應該是UTF-8編碼的。它看起來像誰在構建該URL,而是使用ISO-8859-1編碼。 –

回答

3

你應該使用an overload of HttpUtility.UrlDecode() that accepts an encoding

HttpUtility.UrlDecode("%F3", Encoding.GetEncoding("ISO-8859-1")) 

這實際上假定它使用的是ISO-8859-1編碼。如果它使用Windows-1250,則應該使用它。 (這兩個非常相似,但它們並不相同。)

+0

這樣做。非常感謝你和喬! –