Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 18 Ответов
  • 1542 Просмотров
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Прошу Вашей помощи джумловоды! При создании авторской формы обратной связи своим кодом возникает проблема с кодировкой. Данные которые отправляются со страницы Joomla в PHP обработчик сообщений превращаются в кракозябры. Но только русские буквы английские - ОК. В чем может быть проблема и как ее решить.
Поясню1: PHP обработчик написан верно, без Joomla кодировка работает исправно.
Поясняю2: Обратная связь свои кодом мне нужна чтоб реализовать больную фантазию дизайнера, т.к. ни какие модули тут не помогут.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Помести свою форму в модуль, и выводи русский текст с помощью языковых константов...
...
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Помещение формы в модуль ничего не дает, пробовал. Не совсем понимаю что такое языковые константы. А нельзя в обработчик формы какой либо код впихнуть для расшифровки данных преходящих из формы. Не пинайте сильно не силен в PHP.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
nauca.com.ua/zametki/yazykovye-fajly-v-cms-joomla-i-kak-s-nimi-rabotat/
...
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
nauca.com.ua/zametki/yazykovye-fajly-v-cms-joomla-i-kak-s-nimi-rabotat/
Все понял но это не имеет никакого отношения к форме. Это языки сайта и админки. У меня же пользователь сам заполняет поле и эти данные приходят в мой обработчик формы уже перекодированные Joomla. Вот и мой вопрос как раскодировать поступившую переменню из страницы на Joomla. Если кто еще скрипт кинет - буду благодарен. Кстати iconv тоже не помагает, только одни кракозябры н адругие меняются.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Вот и мой вопрос как раскодировать поступившую переменню из страницы на Joomla.

не совсем понял вопрос....

Все понял но это не имеет никакого отношения к форме. Это языки сайта и админки.

они подходят к любому расширению... те только для сайта и админки, они также используются в компонентах, модулях и шаблонах. С помощью этого можно вывести русский текст на страницу
...
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
не совсем понял вопрос....

они подходят к любому расширению... те только для сайта и админки, они также используются в компонентах, модулях и шаблонах. С помощью этого можно вывести русский текст на страницу
Вы иметет ввиду как ввести данные на страницу, я мне нужно как вывести их оттуда (из формы заполненной пользователем)
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
из формы заполненной пользователем

echo $_POST[`имя поля`];
...
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
echo $_POST[`имя поля`];
Так вот в том и беда что при выводе этих данных летит кодировка! То есть я получаю крарозябры вместо данных и вина в этом лежит на движке, вопрос как исправить.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Скиньте то что у вас получилось
...
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Скиньте то что у вас получилось
Вот собственно сам обработчик формы:
<?php 

$name = $_POST['name'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];
$vopros = $_POST['vopros'];






// пишем письмо
$to = "моя почта";

$subject = "Заказ на поликарбонат  с сайта http://polycarbo.ru/";
$message = $result."Ваше имя:".$name."
Ваш контактный телефон:".$tel."
Ваш E-mail:".$mail."
Вопрос:".$vopros."
".$option1;

 

$headers=null;
$headers.="Content-Type: text/html; charset=UTF-8\r\n";
$headers.="From: ".$name." <".$email.">\r\n";
$headers.="X-Mailer: PHP/".phpversion()."\r\n";
mail ($to, $subject, $message, $header);

// направляем пользователя на страницу с формой
header("Location: http://мой сайт.ru/");



?>
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Не силен в PHP и не въезжаю что надо поменять в кодировке чтоб данные передовались из Joomla нормально. НО на простой HTML сраница форма работает как надо в правильной кадировке а в Joomla не хочет. Вот беда.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В какой кодировке сохранены форма и обработчик?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Не силен в PHP и не въезжаю что надо поменять в кодировке чтоб данные передовались из Joomla нормально. НО на простой HTML сраница форма работает как надо в правильной кадировке а в Joomla не хочет. Вот беда.

К примеру слова Ваше имя - используй языковую константу

Код
<?php echo JText::_('USER_NAME'); ?>

а в языковой файл добавь

Код
USER_NAME="Ваше имя:"
...
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Название полей USER_NAME="Ваше имя:" как рас в нормальной кодировке приходит и без этой конструкции, а вот данные из этих полей $name как раз в неправильной кодировке идут а не наоборот.
*

Yastroitel

  • Захожу иногда
  • 110
  • 1 / 0
Я подозреваю, что все дело просто в кодировке самого обработчика - то о чем писал robert чуть выше

Скорее всего - у вас обработчик в CP-1251 написан, а сайт в Unicode
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
поддерживаю Yastroitel
Форма и ее поля выводятся на странице сайта - соответственно кодировка - UTF-8
Обработчик полей формирует письмо и отправляет его на почту. Вот очевидно это сообщение надо предоставить в другой кодировке - например Windows-1251 или в какой-то иной - зависит от электронной почты.
Пробуйте играться вот с этой строкой
Код
$headers.="Content-Type: text/html; charset=UTF-8\r\n"; 
*

yuri85

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Спасибо за советы, проблемв сама решилась неожиланным способовм. Оказывается Joomla при передаче любых тектсовых данных куда либо сама их кодирует. Надо было перевести поступающие данные из UTF-8 в CP1251 а потом обратно в UTF-8. Почему так не знаю, не спрашивайте. Главное что работает, может кому прегодиться. Тема закрыта, спасибо за обсуждение.
*

IzrA

  • Захожу иногда
  • 322
  • 27 / 0
Так а чего не понятно? Обработчик у вас в 1251. Вот вам и приходится данные из Joomla(UTF-8) перегнать в кодировку обработчика(1251), а потом обратно в UTF-8, чтобы Joomla корректно их вывела.
Спасибо для меня слишком много. Стакан вина Плюс в репутацию - в самый раз.

Велосипедист — бедствие для экономики. Он не покупает автомобиля и не берет под него кредит. Не покупает бензин. Не пользуется услугами ремонтных мастерских. Не страхует «гражданскую ответственность». Не пользуется платными стоянками. Не страдает от ожирения. Да он еще и здоров, черт возьми! Здоровые люди не нужны для экономики. Они не покупают лекарства. Они не ходят к частным врачам. Они не увеличивают ВВП.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблемы с мобильной версией

Автор gromlan

Ответов: 0
Просмотров: 1111
Последний ответ 04.07.2018, 15:23:33
от gromlan
Обратная связь не присылает имя отправителя

Автор bonny

Ответов: 10
Просмотров: 1575
Последний ответ 30.06.2017, 19:18:53
от bonny
Проблемы с кодировкой Joomshoping

Автор mary_NK

Ответов: 3
Просмотров: 1309
Последний ответ 06.06.2017, 10:19:14
от darkghost
Удаление дублей страниц и связанные с этим проблемы

Автор Deska

Ответов: 1
Просмотров: 1759
Последний ответ 14.03.2017, 19:57:10
от Deska
Проблемы с формой GET

Автор Yan

Ответов: 1
Просмотров: 1596
Последний ответ 01.07.2016, 14:52:42
от saharin88