![]() |
Кодировка в POST запросе
Есть такая функция на JS
PHP код:
PHP код:
не могу понять в чем дело :hmm2: |
Выводит юникод данные туда где задана ASCII кодировка вроде цп1251.
|
хм, хорошо... на странице откуда я отправляю ajax-запрос стоит кодировка cp1251
пишу PHP код:
добавлено через 38 минут спасибо, разобрался :молись: |
Цитата:
|
проблема была в том, что не смотря на то что кодировка на странице откуда передается запрос была win1251, данные из формы в POST запросе приходили в php в utf8.
Пришлось в php конвертить utf8 в cp1251. Либо iconv, либо в инете есть пример небольшой функции. зы Вот если бы "всё" было в utf8, небыло бы такого гемороя |
Трабл еще и в том, что разные браузеры по-разному работают с кодировкой на уровне JS и форм :(. Когда-то сталкивался...
|
в РНР можно еще и средством MB делать разные действия с кодировкой если память не изменяет
|
mbstring просто перегружает часть ф-ий чтобы substr, strlen и другие работали посимвольно а не побайтно. Для конвертации - iconv.
|
я имел в виду
mb_convert_encoding :contract: 2 RaZEr на счет mbstring хез... не пользовался но то что выше указал довольно прилично работает! :yees: |
c AJAX'ом вообще лучше всегда работать только в utf8, если в 1251 - то бывают глюки у некоторых браузеров
|
Два дня искал выход из такой же ситуации :) оказалось, что просто нужно брать и делать конвертацию из УТФ-а. А так как мне нужно не только русские символы но и украинские, то пришлось лепить самому конвертор. Вот делюсь, лучше в нете не нашел. Топорно, зато есть все символы!!! :)
PHP код:
|
Цитата:
apoc, хм .... интересно ... попробуем |
apoc, а стандартные iconv, recode чем плохи? В чем смысл очередного велосипеда?
|
"да и нет тут смысла... его вообще нет..." (с) но в данном случае это "соломинка", которая иногда просто нужна, ну вот не включен iconv и нет перекодировки... упс... :) и сайт не пашет. кстати, я думаю, все таки, что в моем посте (с примером) больше смысла, чем в вашем (с претензиями), - без обид.
|
2 apoc
мдя ... функция конечно норм на счет темы в целом лучше всего работать с utf и тогда никаких проблем ни у кого не будет |
Работать с utf8 - это хорошо. Но иногда желательно, чтобы даынные передающиеся AJAX'ом и просто при сабмите формы, обрабатывались одинаково.
Есть одно наблюдение по работе в JavaScript со строчками в разной кодировке. Обычно при отправке AJAX'ом строки кодируются функцией encodeURIComponent - тогда действительно будет отправлен utf8 (javascript сам сделает преобразование кодировки), если же использовать другую функцию - escape, то преобразования кодировки не будет. По моим наблюдениям, описанное поведение верно, для всех современных браузеров. |
| Часовой пояс GMT +4, время: 16:33. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.