php javascript url encoding

У меня есть html-текст. Я закодировал его в php, используя функцию urlencode. Я хочу декодировать этот текст в javascript. когда я использую функцию unescape в javascript, он заменяет все специальные символы, но sapce заменяется на «+». как я могу сделать это правильно, чтобы пространство было заменено как само пространство ???

Вместо этого попробуйте использовать rawurlencode – urlencode делает некоторые вещи по-разному для «исторических» причин.

См. http://us.php.net/manual/en/function.urlencode.php для получения дополнительной информации.

PHP rawUrlEncode () == JavaScript encodeURIComponent ()

PHP rawUrlDecode () == JavaScript decodeURIComponent ()

Скобки являются исключениями из всего сказанного в этой статье.

geek mode on:

ложный

 PHP rawUrlEncode() !== JavaScript encodeURIComponent() 

но правда

 PHP rawUrlEncode() == JavaScript encodeURIComponent() 

Другими словами, существует множество специальных символов, которые не рассматриваются как безопасные в rawurlencode, когда они находятся в encodeURIComponent.

Попробуй это:

 return decodeURIComponent((str + '').replace(/\+/g, '%20')); 

Источник: http://phpjs.org/functions/urldecode:572