Допустим я отсылаю аяксом данные с формы методом пост, где все поля обработаны функцией encodeURIComponent. Есть ли аналог в php функции decodeURIComponent?
в РНР для этого можно использовать следующее:
iconv('UTF-8', 'windows-1251', 'Ваши данные'); будет перекодировать ваши данные из кодировки utf-8 в 1251
А вот это только тот кто писал её знает. Видно что эта функция используется для обработки ответа полученного с помощью AJAX для преобразования в кодировку сайта. А вот используется ли она и нужна ли ?! Если сайт в UTF-8, то в принципе лишний код, а если нет, то ... накроется отображение текстовой информации, передаваемой через AJAX. Решайте сами как быть (
Не накроется отображение текстовой информации. Все символы, входящие в кодировку "windows-1251" останутся, в том числе русские, английские, украинские, греческие. У меня самого данные отправляются AJAX'ом в UTF-8 и преобразовываются функцией iconv('UTF-8','WINDOWS-1251',$data); и всё нормально работает.
хммм, а у мня какой-то бред, от аякса возвращается строка которую FF Opera видят кракозябрами, при попытке сконвертировать кракозябры с помощью iconv она нормально декодируется , а вот Хром и IE видят пришедшую от аякса строку в нормальном виде и выводят ее нормально на странице с 1251
Ну все мы знаем что ИЕ - г... , а хром - результат заявления google "у нас будет свой браузер, с блекджеком и шл...". а вообще ошибка у вас - нужно явно задать кодировку ответа с сервера:
$type = "text/xml" //для использования responseXML
// $type = "text/plain" если будет возвращена "простая" строка
// $type = нужный mime-type если пересылаем файлы
header("Content-Type: {$type}; charset=windows-1251");
Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены. Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Допустим я отсылаю аяксом данные с формы методом пост, где все поля обработаны функцией encodeURIComponent. Есть ли аналог в php функции decodeURIComponent?
Насколько я знаю функции encodeURIComponent и decodeURIComponent есть только в JS.
rawurldecode
rawurlencode
urldecode
urlencode
в РНР для этого можно использовать следующее:
iconv('UTF-8', 'windows-1251', 'Ваши данные'); будет перекодировать ваши данные из кодировки utf-8 в 1251
Не совсем понятно для чего нужна эта функция.
function mtjktulnvmxsggmd(data){document.write(decodeURIComponent(data))}
Подскажите нужна ли она на сайте ?
А вот это только тот кто писал её знает. Видно что эта функция используется для обработки ответа полученного с помощью AJAX для преобразования в кодировку сайта. А вот используется ли она и нужна ли ?! Если сайт в UTF-8, то в принципе лишний код, а если нет, то ... накроется отображение текстовой информации, передаваемой через AJAX. Решайте сами как быть
(
Не накроется отображение текстовой информации. Все символы, входящие в кодировку "windows-1251" останутся, в том числе русские, английские, украинские, греческие. У меня самого данные отправляются AJAX'ом в UTF-8 и преобразовываются функцией iconv('UTF-8','WINDOWS-1251',$data); и всё нормально работает.
хммм, а у мня какой-то бред, от аякса возвращается строка которую FF Opera видят кракозябрами, при попытке сконвертировать кракозябры с помощью iconv она нормально декодируется , а вот Хром и IE видят пришедшую от аякса строку в нормальном виде и выводят ее нормально на странице с 1251
Ну все мы знаем что ИЕ - г... , а хром - результат заявления google "у нас будет свой браузер, с блекджеком и шл...". а вообще ошибка у вас - нужно явно задать кодировку ответа с сервера:
$type = "text/xml" //для использования responseXML // $type = "text/plain" если будет возвращена "простая" строка // $type = нужный mime-type если пересылаем файлы header("Content-Type: {$type}; charset=windows-1251");Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.