Михаил Иванишинец
31 сообщение
#15 лет назад
Народ, помогите с простым скриптом отправки писем с сайта.

Проблема в том, что сайт в кодировке utf-8. Если в скритпе указывать utf-8, то приходит полная краказябра.
Если в скрипте указать windows-1251 (см.код), то названия полей "Имя", "Телефон" и т.д. приходят нормально, а вот сами данные, которые пользователь на сайте вводит в форму - приходят опять же в непонятной кодировке.
Как можно это побороть?
спасибо!


<?php
$subject="Сообщение с сайта";
$header="Content-type: text/html; charset=\"windows-1251\"";
$header.="From: ".$mail;
$header.="Subject: ".$subject;
$header.="Content-type: text/html; charset=\"windows-1251\"";

$mess_name = substr(htmlspecialchars(trim($_POST)), 0, 100);
$mess_email = substr(htmlspecialchars(trim($_POST)), 0, 100);
$mess_phone = substr(htmlspecialchars(trim($_POST)), 0, 100);
$mess_comment = substr(htmlspecialchars(trim($_POST)), 0, 10000);

$message="Имя: ".$mess_name."
<br>Email: ".$mess_email."
<br>Телефон: ".$mess_phone."
<br>Сообщение: <br />".$mess_comment;

mail("***", $subject, $message, $header, "***");
header("Location:contacts.html");

?>

Николай Г.
601 сообщение
#15 лет назад
Либо в форме(которая данные на сервер гонит) указать charset сp1251, либо конвертить.
Сергей С.
5 сообщений
#15 лет назад
$mess_name= iconv("UTF-8", "CP1251", $mess_name);
Михаил Иванишинец
31 сообщение
#15 лет назад
Цитата ("Solonets"):
$mess_name= iconv("UTF-8", "CP1251", $mess_name);


Огромное спасибо!