У меня есть вопрос о кодировании специальных / расширенных символов UTF-8 в URL в JavaScript.Тот же вопрос относится ко многим символам, таким как Зарегистрированный R-круг, но в моем примере используется Umlaut:
ü =% C3% BC в UTF-8 (четыре строки снизу http://www.utf8 -chartable.de/)
Если в URL-адресе содержится умлаут, представленный как UTF-8 (ü =% C3% BC), и я запускаю его через encodeURIComponent,% s закодировано, строка теперьвыглядит как "% 25C3% 25BC", и он корректно обрабатывается моей системой.Это хорошо.
url = "http://foo.com/bar.html?%C3%BC"
url = encodeURIComponent (url);
// url теперь представляется как" http% 3A% 2F% 2Ffoo.com% 2Fbar.html% 3F% 25C3% 25BC "
Однако, плохо: если предварительно закодированная строка имеет не кодированный символ, то фактическое умножение, после кодирования выглядит как"% C3% BC "и завершается ошибкой, потому что яповерьте,% s также должен быть закодирован .:
url = "http://foo.com/bar.html?ü"
url = encodeURIComponent (url);
// url теперь представлен как" http% 3A% 2F% 2Ffoo.com% 2Fbar.html% 3F% C3% BC "
Я думаю, что это не удастся, потому что он менее тщательно закодирован, чем остальная часть URL.
Таким образом, помимо общего совета илиответы на вопросы, которые я не знаю, чтобы спросить, я думаю, что я хочу знать, как получить чистый кодировку (и все другие специальные символы) для полного кодирования.Это то, что неправильно?
Спасибо за вашу помощь!Нейт