Добрый день!
Делал лендинг на bootstrap 4, я в этом деле новичок.
Вставил форму обратной связи для отправки через mail.php и ajax. Кодировка на сервере utf-8, сервер nic.ru. Пользуюсь почтовым клиентом Outlook.
Но нормально приходят на почту данные, которые заполнены на английском (например имя Kirill а не Кирилл). Если писать на русском, то приходит вот такое: п п╦я─п╦п╩п╩
Вот код обработчика:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = $_POST['subject'];
header('Content-Type: application/json');
if ($name === ''){
print json_encode(array('message' => 'Name cannot be empty', 'code' => 0));
exit();
}
if ($email === ''){
print json_encode(array('message' => 'Email cannot be empty', 'code' => 0));
exit();
} else {
if (!filter_var($email, FILTER_VALIDATE_EMAIL)){
print json_encode(array('message' => 'Email format invalid.', 'code' => 0));
exit();
}
}
if ($subject === ''){
print json_encode(array('message' => 'Subject cannot be empty', 'code' => 0));
exit();
}
if ($message === ''){
print json_encode(array('message' => 'Message cannot be empty', 'code' => 0));
exit();
}
$content="From: $name \nEmail: $email \nMessage: $message";
$recipient = "info@morskoybreez.ru";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $content, $mailheader) or die("Error!");
print json_encode(array('message' => 'Сообщение успешно отправлено!', 'code' => 1));
exit();
?>
Сам с проблемой справиться не могу, т.к. php практически не знаю еще пока. То, что находил на просторах интернета - просто ломало отправку. помоги пожалуйста, как исправить эта проблему?