Моя проблема заключается в следующем:
Сайт написан на кодировке utf-8 и одна страница (форма обратной связи) на win-1251.
Переехали на новый хостинг и там не разрешается использование нескольких кодировок(((
Что нужно сделать с файлом send_email.php чтоб он стал в utf-8?!
В файле след информация:
<?php
$email = "Мой_сайт@mail.ru";
$name = htmlspecialchars($_POST['yourname']);
$phone = htmlspecialchars($_POST['yourphone']);
$textmessage= htmlspecialchars($_POST['yourmessage']);
/* Проверяем заполнены ли обязательные поля ввода, используя check_input функцию */
$name = check_input($_POST['yourname'], "Введите ваше имя!");
$phone = check_input($_POST['yourphone'], "Укажите Ваш телефон!");
$textmessage = check_input($_POST['yourmessage'], "Вы забыли написать сообщение!");
/* Если адрес не соответствует формату выдать ошибку */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("Введен не правильный адрес");
}
/* Заголовок письма*/
$subject = "Мой_сайт.ru от ".$name;
/* Составление текста письма*/
$message = "Получено сообщение от
ФИО: $name
Телефон: $phone
Следующего содержания:
$textmessage
";
/* Отправить письмо функцией mail() */
mail($email, $subject, $message);
$email = "Мой_сайт@mail.ru";
/* Перенаправить пользователя на страницу 'спасибо' */
header('Location: thanks.html');
exit();
/* Функция проверки */
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)
{
?>
<html>
<body>
<p>Пожалуйста исправьте следующую ошибку:</p>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>