У меня есть небольшая проблема с моим кодом. На моем сайте я получил поисковую систему с опцией фильтра. Условие поиска хранится в окне url, но фильтр в стандарте не принимает параметры поиска.
Я хочу исправить эту проблему.
Я написал простой JS-код ниже:
var link = window.location.href;
var elementy = link.replace('+',' ').split('&');
Так что если у меня есть URL-адрес, подобный этому http://mywww.pl/searchcond=&cond1[somePolishCharHere]&cond1
и я использую alert для отображения varible
alert(elementy[1]);
Я ожидаю увидеть 'cond1 [somePolishCharHere]', но у меня есть 'cond1 [someWirdStuffHere]'
Веб-сайт установил кодировку UTF-8, и для eq, если я сделаю что-то вроде этого:
var test = [poslishCharHere];
alert(test);
Я получил правильный результат ([poslishCharHere])
И я понятия не имею, что не так...
var link = decodeURI( window.location.href );
Например
decodeURI("http://example.com/?foo=g%C4%99%C5%9B") === "http://example.com/?foo=gęś";
Изменение: то, что вы видите в строке URL браузера, не всегда точно, как должен выглядеть действительный URI. Браузер обрабатывает его прозрачно, чтобы пользователь мог видеть читаемый текст и вводить любой символ, но символ, установленный в допустимом URI, очень ограничен (цифры, буквы и несколько символов), а все остальное нужно кодировать, используя "процентное кодирование",, http://tools.ietf.org/html/rfc3986#section-2