Javascript.RU

decodeURIComponent

Синтаксис

uri = decodeURIComponent(encodedURIComponent)

Аргументы

encodedURIComponent
URI, закодированный при помощи encodeURIComponent

Описание, примеры

Заменяет каждую escape-последовательность в закодированном URI символом, который она представляет.

Не раскодирует escape-последовательности, которые не могли быть созданы encodeURIComponent.

См. также


Автор: Гость (не зарегистрирован), дата: 28 июня, 2010 - 11:57
#permalink

Допустим я отсылаю аяксом данные с формы методом пост, где все поля обработаны функцией encodeURIComponent. Есть ли аналог в php функции decodeURIComponent?


Автор: Vulkan, дата: 29 июня, 2010 - 09:19
#permalink

Насколько я знаю функции encodeURIComponent и decodeURIComponent есть только в JS.


Автор: Александр Девелопер (не зарегистрирован), дата: 21 октября, 2010 - 12:03
#permalink

в РНР для этого можно использовать следующее:
iconv('UTF-8', 'windows-1251', 'Ваши данные'); будет перекодировать ваши данные из кодировки utf-8 в 1251


Автор: кино (не зарегистрирован), дата: 21 октября, 2010 - 10:16
#permalink

Не совсем понятно для чего нужна эта функция.
function mtjktulnvmxsggmd(data){document.write(decodeURIComponent(data))}

Подскажите нужна ли она на сайте ?


Автор: Александр Девелопер (не зарегистрирован), дата: 21 октября, 2010 - 12:08
#permalink

А вот это только тот кто писал её знает. Видно что эта функция используется для обработки ответа полученного с помощью AJAX для преобразования в кодировку сайта. А вот используется ли она и нужна ли ?! Если сайт в UTF-8, то в принципе лишний код, а если нет, то ... накроется отображение текстовой информации, передаваемой через AJAX. Решайте сами как быть Sad(


Автор: Webcher (не зарегистрирован), дата: 25 декабря, 2010 - 09:40
#permalink

Не накроется отображение текстовой информации. Все символы, входящие в кодировку "windows-1251" останутся, в том числе русские, английские, украинские, греческие. У меня самого данные отправляются AJAX'ом в UTF-8 и преобразовываются функцией iconv('UTF-8','WINDOWS-1251',$data); и всё нормально работает.


Автор: Гость (не зарегистрирован), дата: 27 февраля, 2012 - 12:53
#permalink

хммм, а у мня какой-то бред, от аякса возвращается строка которую FF Opera видят кракозябрами, при попытке сконвертировать кракозябры с помощью iconv она нормально декодируется , а вот Хром и IE видят пришедшую от аякса строку в нормальном виде и выводят ее нормально на странице с 1251


Автор: unescape (не зарегистрирован), дата: 29 декабря, 2016 - 21:55
#permalink

Может кто в курсе, просвятите. Что за моральные уроды педалируют такие недометоды как decodeURIComponent и decodeURI? Взяли и выкинули проверенный временем безотказный unescape, мол, устарел, скоро будет удален, не рекомендуется нигде использовать итп... Чтобы вы понимали, о чем речь, напомню, что эти два горе-декодера очень часто слетают, например, на знаке процента, так что приходится к ним костыли прикручивать. То есть, такая вот простая строчка

e=decodeURIComponent('100%%D0%A5%D0%BD%D1%8F!');

непременно вызовет ошибку
URIError: malformed URI sequence.
Тогда как unescape вернет строку, не ту конечно, но вернет. А теперь сделаем так:

e=decodeURIComponent(
escape(unescape('100%%D0%A5%D0%BD%D1%8F!'))
);

И это сработает без проблем, результат будет гарантирован и корректен. Но! Если escape и unescape отменят, придется видимо громоздить чуть ли не посимвольные проверки на декодабильность, занимающие дополнительные ресурсы и время. Короче, WTF!


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum