кодировка письма

программирование почта базы данных сервер кодировка

Есть форма отправляющая письмо в ней класс
$mail->From = $from;
$mail->FromName = $from_name;
$mail->AddAddress($to);
$mail->WordWrap = 100;
$mail->IsHTML(false);
$mail->CharSet = "windows-1251";
$mail->Subject = $subject;

в таком варианте письмо приходит:
Сообщение с сайта из обратной формы:
Проект: Заказ товара
==================================
Імя: Валентин

Телефон:: 34563456

E-mail:: [email protected]

Найменування товару(артикул)::
zxzx

Там где Валентин имя русскими буквами

Если меняю на UTF-8
то приходит

????????? ? ????? ?? ???????? ?????:
??????: ????? ??????
==================================
???: Валентин

???????:: 34563456

E-mail:: [email protected]

???????????? ??????(???????)::
zxzx

В чем фокус?


Примечание:
<?php ## Класс для работы с почтой

class send_mail extends collection
{

//Основная функция отправки почты
function mail_base($to, $subject, $message, $from, $from_name="", $tmp_files_add = "")
{
$mail = new PHPMailer();
$mail->IsMail();


$mail->From = $from;
$mail->FromName = $from_name;
$mail->AddAddress($to);
$mail->WordWrap = 100;
$mail->IsHTML(false);
$mail->CharSet = "utf-8";
$mail->Subject = $subject;


//Прикрепляем файлы
if ($tmp_files_add != "" and is_array($tmp_files_add))
{
foreach ($tmp_files_add as $val)
{
if (file_exists($val['tmp_name']))
{
$tmp_file = $val['tmp_name'];
$attachment = fread(fopen($tmp_file, "r"), filesize($tmp_file));
$mail->AddAttachment($tmp_file, $val['name']);
}

}
}

$text_mail = $message;

$mail->Body = $text_mail;

if(!$mail->Send())
{
exit;
}
return 1;
}


}
?>
Ответы:
Без исходного кода класса обсуждение вопроса бессмысленно.
фокус в том, что в программе все строки хранятся в кодировке UTF-8. И поскольку имя вы подставляете без перекодировки (в отличие от тела письма), оно и приходит получателю в юникоде.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.