У меня есть следующий URL:Специальные символы в URL - нужно, чтобы получить капитал Ø
my.site/?param1=Økonomi¶m2=Penger
Я использую эту функцию для получения значения параметров:
function getQueryStringValue(url, key) {
var params = {};
var url_params = url.split("?", 2);
if (url_params.length > 1) {
var param_list = url_params[1].split("&");
param_list.map(function (param_str) {
var kv = param_str.split("=", 2);
params[kv[0]] = kv[1];
});
}
return (key in params)? decodeURIComponent(params[key]) : ''
}
При регистрации результатов , эти возвращаемые значения: param1 = %C3%98konomi
и param2 = Penger
При выполнении запроса это против моего набора данных, я не могу получить матч результатов названных Økonomi
с капиталом Ø
. Если я изменю данные до økonomi
, я получаю совпадение.
Точно ли кодированное значение URI %C3%98
не возвращается Ø
? Как я могу убедиться, что это будет?
Что 'console.log (URL)' 'шоу в getQueryStringValue'? 'decodeURIComponent ('% C3% 98')' определенно должен быть '' Ø''. – Ryan
Это показывает '% C3% 98' –
Весь ваш URL-адрес'% C3% 98'? Интересно. Как вы вызываете 'getQueryStringValue' и проверяете результат? – Ryan