Итак попытаюсь объяснить суть проблемы по порядку:
Есть некая HTML форма с полями, у полей соответственно есть имена.
Некоторые поля создаются динамически с помощью JS и получают имена типа name[] (чтобы потом воспользоваться массивом значений этих полей)
При отправке данных на сервер (думаю стоит указать что для этого используется x
ajax - x
ajax_processForm(getFormValues("formName"))
возникает проблема с кодировкой русских букв: русские буквы из полей, имеющих обычное имя (вроде name="title") в пхп скрипте так же без проблем остаются русскими. А вот данные полей с именами типа name[] доходят до скрипта в виде:
Т.е. насколько я вижу преобразуются в юникод.
Объясните, плз, в чем проблема и как ее решить.
Спустя 10 минут, 43 секунды (28.08.2007 - 11:15) zaxar написал(а):
Значит нужно пройтись по массиву и каждый элемент преобразовать из юникода в windows-1251
Код
foreach($name as &$value) $value=iconv("utf-8","cp1251",$value);
Спустя 40 минут, 40 секунд (28.08.2007 - 11:55) lma написал(а):
Цитата(zaxar @ 28.8.2007, 12:15) [snapback]26479[/snapback]
Значит нужно пройтись по массиву и каждый элемент преобразовать из юникода в windows-1251
Код
foreach($name as &$value) $value=iconv("utf-8","cp1251",$value);
Большое спасибо. Вопрос закрыт.
Спустя 1 год, 8 месяцев, 16 дней, 2 часа, 39 минут, 19 секунд (14.05.2009 - 14:35) Dura написал(а):
А пачему тему закрыли а способ человеческий не нашли? , ненормальный способ с этим foreach. Он канешно работает, но ето не тО.
Спустя 19 минут, 14 секунд (14.05.2009 - 14:54) twin написал(а):
Причина банальна. Вся беда в том, что почему то считается, что если сайт на русском языке, то обязательно нужно, чтобы он был в кодировке windows-1251. Отсюда и вся головная боль. Не работает аякс с этой кодировкой. Есть универсальное и профессиональное решение - использовать utf-8, а не эту местячковую чушь.