[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка PHP-формы обратной связи
dsk8m
Здравствуйте. Есть простенький код для формы обратной связи:


<?php
$MailToSend = 'dsk8mus@mail.ru';
if(isset($_REQUEST['submit']))
{
@mail(
$MailToSend,
'Сообщение с сайта bani20.ru',
"На сайте готовых бань была заполнена заявка\n Вот ее данные:\n
Имя: $_REQUEST[name]\n
Контактный телефон: $_REQUEST[phone]\n
E-mail: $_REQUEST[email]\n
Сообщение: $_REQUEST[message]\n
",
join("\r\n", array(
"From: bani20@form.nodomain",
"Reply-To: donotreply@form.nodomain"
)
)
);

echo "Спасибо, Ваше сообщение отправлено";
exit;
}
?>


И всё отлично работает, отправляется! Но только на mail.ru с кодировкой сообщения происходит что-то странное, вместо русских символов пишет кракозябры. Уже всё перепробовал. Нужно вставить куда-то код, чтобы переконвертировать кодировку, или я уже не знаю что и делать...

Нужно срочно. Помогите, пожалуйста :(
AllesKlar
А что документация функции mail по этому поводу говорит?

например, вот в этом месте:
<?php
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: Sender Name <sender@domain.com>";
$headers[] = "Bcc: JJ Chong <bcc@domain2.com>";
$headers[] = "Reply-To: Recipient Name <receiver@domain3.com>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();

mail($to, $subject, $email, implode("\r\n", $headers));
?>


http://de1.php.net/manual/ru/function.mail.php

_____________
[продано копирайтерам]
Игорь_Vasinsky
http://www.php.net/manual/ru/function.mail.php

4 аргумент - заголовок, там кодировку и укажите - в примерах есть.

кодировка должна соответствовать кодировке документа в котором выполняется скрипт.

UPD: опередили smile.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
dsk8m
Спасибо за оперативность! Вставил заголовок, присвоил ему кодировку utf-8 (соответствующую кодировке документа), но mail.ru упрямо присылает в кракозябрах. С яндексом и gmail такого нет, там всё нормально.
Игорь_Vasinsky
так же в самом скрипте не мешало бы кодировку в заголовке header послать

потом, если что, проверь:
а если windows-1251 поставить?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.