Сменить кодировку в php

Статус
В этой теме нельзя размещать новые ответы.

irk

Постоялец
Регистрация
18 Май 2009
Сообщения
91
Реакции
2
Есть скрипт, который посылает сообщения на мыло с сайта. Вот весь код:
PHP:
<?php

$to = $_POST["to"];
$subject = $_POST["subject"];
$message = $_POST["message"];
$from = $_POST["from"];

function safe( $name ) {
   return str_replace (array ("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), "", $name);
}

$emailPattern = '/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i';

if (preg_match($emailPattern, $to) && preg_match($emailPattern, $from))
	echo mail ($to, safe($subject), $message, "From:".safe($from));
else
	echo 'error::Wrong e-mail format!';

Если писать сообщение на русском, то приходит нечитаемый тест... Как пофиксить код скрипта, чтобы сообщения на русском приходили в читаемом виде. Вообще сайт работает на UTF-8.
 
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'From: '.$from.' <'.$from.'>' . "\r\n";
$subject="=?utf8?B?".base64_encode($subject)."?=\n";

mail ($to, safe($subject), $message, $headers);
как-то так...
 
  • Нравится
Реакции: irk
Дружище, юзай вообще клас отправки PHPMailer. Неделю назад возился с подобной задачей. Очень просто решилась.

 
  • Нравится
Реакции: irk
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху