• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Проблемы с кодировкой при отправке писем.

Форумы Хостинг Проблемы с кодировкой при отправке писем.
textexpress
19.11.2015
хостинг: нет
домен: нет
Проблемы с кодировкой при отправке писем.
Добрый день.
Прошу помочь решить такой вопрос. Есть html форма для отправки данных с сайта на почтовый сервис. Есть рhp скрипт обработчик данной формы. Данные передаются посредством функции mail(). Когда в поля формы вводятся латинские символы скрипт работает корректно. При вводе кириллицы скрипт возвращает ошибку - "Введите имя". То есть он не видит информации на русском языке. Пробовал по разному решать данную проблему. В html файле и в файле скрипта указывал CP1251, потом utf-8. То же самое проделывал в настройках сайта в панели управления хостингом и в файле конфигурации веб сервера. Также пробовал не привязываться к кодировке нигде. Результат без изменений. Уже не знаю, как решить данный вопрос. Буду благодарен за помощь.
sonicua
19.11.2015
хостинг: нет
домен: нет
Код скрипта в студию.
textexpress
20.11.2015
хостинг: нет
домен: нет
Вот сам скрипт:
<?php
$name=htmlspecialchars($_POST["name"], ENT_COMPAT, 'cp1251');
$email=htmlspecialchars($_POST["email"]);
$tema=htmlspecialchars($_POST["tema"], ENT_COMPAT, 'cp1251');
$message=htmlspecialchars($_POST["message"], ENT_COMPAT, 'cp1251');
$myemail="text0@gmail.com";
$name=check_input($_POST["name"],"Введіть ваше ім'я!");
$tema=check_input($_POST["tema"],"Вкажіть тему повідомлення!");
$email=check_input($_POST["email"],"Введіть свою e-mail адресу!");
$message=check_input($_POST["message"],"Вкажіть текст повідомлення!");
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
show_error("<br/>Е-mail адреси не існує");
}
$message_to_myemail="Повідомлення з веб сайту.
Ім'я відправника: $name
E-mail: $email
Тема: $tema
Текст повідомлення: $message";
$from="From:$yourname<$email> \r\n Reply-To:$email \r\n";
mail($myemail,$tema,$message_to_myemail,$from);
?>
<p>Ваше повідомлення успішно відправлено!</p>
<p>На <a href="index.html">Головну>>></a></p>
<?php
function check_input($data,$problem="")
{
$data=trim($data);
$data=stripslashes($data);
$data=htmlspecialchars($data);
if($problem && strlen($data)==0)
{
show_error($problem);
}
return$data;
}
function show_error($myError)
{
?>
<p>Будь-ласка виправте слідуючу помилку:</p>
<?php echo $myError; ?>
<?php
exit();
}
?>
sonicua
20.11.2015
хостинг: нет
домен: нет
Попробуйте изменить
$data=htmlspecialchars($data);
на
$data=htmlspecialchars($data, ENT_COMPAT, 'cp1251');
подобно первым строчкам кода.
textexpress
20.11.2015
хостинг: нет
домен: нет
Большое спасибо! Все работает отлично)
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Горячая линия
(044)
392 74 33
другие города