Расшифровка символов иностранных языков в URL - PullRequest
0 голосов
/ 01 ноября 2011

Я декодирую символы в URL-адресе, используя HTTPUtility.URLDecode. Вот символы, которые я должен декодировать:

% 26 = "&"
% 28 = "("
% 29 = ")"
% 20 = ""
% 5B = "["
% 5D = "]"
% 2C = ","
% 23 = "#"
% F3 = "ó" (испанский символ)

HTTPUtility.URLDecode отлично работает на всех, кроме последнего. Я сейчас выполняю поиск / замену этого последнего символа, но надеюсь, что есть более удобный автоматический способ, поэтому мне не придется обновлять поиск / замену в будущем.

1 Ответ

3 голосов
/ 01 ноября 2011

Вы должны использовать перегрузку HttpUtility.UrlDecode(), которая принимает кодировку :

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

Это предполагает, что фактически используется кодировка ISO-8859-1.Если он использует Windows-1250, вы должны использовать это.(Эти два очень похожи, но они не одинаковы.)

...