Форма. Кодировка сообщения

S
На сайте с 05.01.2010
Offline
80
449

Обработчик формы лежит на странице движка внутри body. Письмо приходит кракозябрами. Могу ли я внутри php указать нужную кодировку?

<?php


if (isset($_POST['name'])) {
$name = mb_convert_encoding($_POST['name'], "windows-1251", "UTF-8");
if ($name == '') unset($name);
}
if (isset($_POST['email'])) {
$email = mb_convert_encoding($_POST['email'], "windows-1251", "UTF-8");
if ($email == '') unset($email);
}
if (isset($_POST['text'])) {
$text = mb_convert_encoding($_POST['text'], "windows-1251", "UTF-8");
if ($text == '') unset($text);
}

/* Проверяем заполнены ли все поля */
if (isset($name) && isset($email) &&isset($text)) {

/* Убираем все лишние пробелы и переносы строк, а также преобразуем все теги HTML в символы*/
$name = htmlspecialchars(trim($name));
$email = htmlspecialchars(trim($email));
$text = htmlspecialchars(trim($text));


/* Проверяем правильность ввода email-адреса */
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)){
die("Неправильный формат e-mail адреса!");
}

/* Формируем сообщение */
$address = "ttt@yandex.ru";
$sub = "На сайте был задан вопрос";
$mes = "Имя: $name
E-mail: $email
Текст сообщения: $text
";

/* Отправка сообщения */
$verify = mail ($address,$sub,$mes);
if ($verify == 'true'){
echo "Ваш вопрос принят!";
}
else {
echo "Ваш вопрос не принят. Проверьте правильность заполнения полей.";
}

}
else{
echo "Вы заполнили не все поля!";
}
?>
Плюсоните если помог...
IL
На сайте с 20.04.2007
Offline
435
#1

Да, можно задать заголовки четвёртым параметром функции mail

Content-Type: text/plain; charset="windows-1251"

Видимо, так

mail ($address,$sub,$mes,'Content-Type: text/plain; charset="windows-1251"'); 
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
S
На сайте с 05.01.2010
Offline
80
#2

да, получилось.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий