Странный вопрос!кодировка символов работает только на теле - PullRequest
0 голосов
/ 15 марта 2012

Как установить кодировку UTF-8, которая влияет на тему функции почты с вложением, У меня сильная головная боль

Я использую это для отправки французского контента (тема + тело) + прикрепленный файл. Символы на теле в порядке и хорошо акцентированы, но акценты на этом предмете просто беспорядок.

Я получаю данные через POST (кроме прикрепленного файла, на сервере уже определен путь).

$email_from = "$Emp->Email";
$email_subject = $_POST['email_subject_posted'];
$email_message = "Nom: $Emp->Nom<br>";
$email_message .= "Prénom: $Emp->Prenom<br>";   
$email_message .= "Tel: $Emp->Mobile<br>";
$email_message .= "Email: $Emp->Email<br><br>";

$email_message .= stripslashes(strip_tags($lettre));
$email_message .= "<br><br>";
$email_message .= "Candidature envoyée avec mon compte Example.<br>";
$email_message .= "http://www.example.org<br>";
$email_message .= "1er Site de l’emploi en Algérie.";

$email_to = "$email_candidature";
$headers = "From: ".$email_from;
$file = fopen($CVfile,'rb');
$data = fread($file,filesize($CVfile));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"utf-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message .= "\n\n";

$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$CVfile_type};\n" .
" name=\"{$CVfile_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$CVfile_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data .= "\n\n" .
"--{$mime_boundary}--\n";

$ok = @mail($email_to, $email_subject, $email_message, $headers);

Любой вклад слишком важен.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2013

Используйте что-то подобное вокруг вашей темы в функции mail ()

'=?UTF-8?B?'.base64_encode($email_subject).'?='

чтобы он выглядел как

@mail($email_to, '=?UTF-8?B?'.base64_encode($email_subject).'?=', $email_message, $headers, '-f'.$email_from);  
0 голосов
/ 15 марта 2012

У меня была такая проблема, когда моя кодировка PHP-файла не была похожа на кодировку сообщений.Проверьте кодировку вашего PHP-файла.

...