2015-01-21 3 views
1

Как unescape был устаревшим Я выбрал decodeURIComponent, но он не работает должным образом. decodeURIComponent косяк расшифровывает следующий URI компонентdecodeURIComponent, вызывая ошибку 'URI malformed'

Coast%20Guard%20Academy%20to%20hold%20annual%20Women%92s%20%91Leadhership%92%20event 

В том время декодирование выше строки decodeURIComponent выдает ошибку, которая блокирует оставшийся яваскрипт исполнения.

Есть ли какое-либо решение, чтобы исправить это?

+0

пожалуйста, напишите об ошибке – roryok

+0

@roryok - "URI неправильный формат" – Quentin

+0

я получаю 'URIError: URI malformed', попробуйте это в консоли' decodeURIComponent ('Берег% 20Guard% 20Academy% 20to% 20hold% 20annual% 20Women% 92s% 20% 91Leadhership% 92% 20event ') ' – vimal1083

ответ

2

Знаки %91 и %92 кодировались с использованием кодовой страницы ANSI. decodeURIComponent()expects the string to have been encoded as UTF-8:

The decodeURIComponent function computes a new version of a URI in which each escape sequence and UTF-8 encoding of the sort that might be introduced by the encodeURIComponent function is replaced with the character that it represents.

Две цитаты должны быть закодированы как %E2%80%98 и %E2%80%99.

+0

'+ 1' Там я иду, глядя на неправильный стандарт. Я искал информацию, кодирующую URI, и, конечно же, я должен был смотреть на 'decodeURIComponent'. –

Смежные вопросы