2009-11-26 3 views
0

Код:проблемы с decodeURI с%^символов

<script type="text/javascript"> 
    var uri**="%^my test**.asp?name=ståle&car=saab"; 
    document.write(decodeURI(uri)); 
</script> 

Ошибка:

Line: 6 
Error: The URI to be decoded is not a valid encoding 

есть в любом случае декодирования комбинаций как%^перед вызовом фактической decodeURI

+2

Вы уверены, что не собираетесь «кодировать», а не расшифровывать? – Ayyash

+1

Почему этот%^в URI так или иначе, и для чего вы хотите его декодировать? –

+1

Согласен, по крайней мере, почему существует%, потому что это символ escape для кодирования других элементов URI. Кроме того, у вас есть другие несимвольные символы в URI, которые должны быть закодированы, так как небезопасно предполагать, что символы Юникода могут обрабатываться в URI. – Kitson

ответ

2

Это не действительный URI. В URI не разрешается содержать незакодированные не-ASCII или зарезервированные символы. Вы не можете использовать литерал %, он должен быть закодирован как %25.

var uri="%25^my%20test.asp?name=st%C3%A5le&car=saab"; 
+0

Извините, что выкопал старое сообщение, но что такое оператор ** =? –

+0

@ J.Hendrix Это не оператор, форматирование унций SO перепуталось – Kornel

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

  • Нет связанных вопросов^_^