问题
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.
回答1:
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.)
来源:https://stackoverflow.com/questions/7970021/decoding-foreign-language-characters-in-url