декодирование URL-адреса javascript не работает

Моя строка;

var str = "Mehmet%2bAli%2b%c3%96zcan";

И я хочу получить строку;

var strDecoded = "Mehmet Ali Özcan";

Я пробовал все следующие;

strDecoded = decodeURIComponent(str); // Fails;
strDecoded = decodeURIComponent((str + '').replace(/\+/g, '%20')); // Fails
strDecoded = _decodeURI(str); // Fails


function _decodeURI(str) {
  str = decodeURI(str);
  str = str.replace(/%27/g, "'");
  return str;
}

Что я могу сделать еще, чтобы получить правильную строку? любая идея?


person Mehmet Ince    schedule 02.08.2013    source источник
comment
См. stackoverflow.com /вопросы/3803716/.   -  person Adrian Wragg    schedule 02.08.2013
comment
Это неправильная проблема, ваша проблема в том, как генерируются эти строки, пробел должен быть %20, а не + или даже %2b   -  person Esailija    schedule 02.08.2013


Ответы (1)


Для меня работает следующее:

decodeURIComponent("Mehmet%2bAli%2b%c3%96zcan").replace(/\++/g, ' ');
person André Dion    schedule 02.08.2013