Использование JavaScript-функции escape / unescape почти всегда неправильно, оно несовместимо с URL-кодированием или любой другой стандартной кодировкой в Интернете. Не-ASCII символы обрабатываются неожиданно, так же как пробелы, и старые браузеры не обязательно ведут себя так же.
Как упоминалось в roenving, вы хотите использовать метод decodeURIComponent (). Это более новое дополнение, которое вы не найдете в IE 5.0, поэтому, если вам нужно поддерживать этот браузер (будем надеяться, что нет!), Вам нужно реализовать эту функцию самостоятельно. А для символов не ASCII это означает, что вам нужно реализовать кодировщик UTF-8. Код доступен, если вам это нужно.