简体   繁体   中英

Decoding foreign language characters in url

I am decoding characters in a URL by using HTTPUtility.URLDecode. Here are the characters I have to decode:

%26 = "&"
%28 = "("
%29 = ")"
%20 = " "
%5B = "["
%5D = "]"
%2C = ","
%23 = "#"
%F3 = "ó" (spanish character)

HTTPUtility.URLDecode works great on all but the last one. I am doing a find/replace on that last character right now, but hoping there is a better automatic way so I don't have to update the find/replace in the future.

You should use an overload of HttpUtility.UrlDecode() that accepts an encoding :

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

This assumes it actually is using the ISO-8859-1 encoding. If it uses Windows-1250, you should use that. (These two are very similar, but they are not the same.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM